java基础50道经典练习题及答案 联系客服

发布时间 : 星期一 文章java基础50道经典练习题及答案更新完毕开始阅读ec4b9b800708763231126edb6f1aff00bfd5701a

沃克IT教育JAVA基础编程练习题

整理:Lemon

【程序1】

题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少? 程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... public class Prog1{ } 【程序2】

题目:判断101-200之间有多少个素数,并输出所有素数。

程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 public class Prog2{ public static void main(String[] args){ int m = 1; int n = 1000; int count = 0; //统计素数个数 for(int i=m;i

} } System.out.println(); System.out.println(\在\和\之间共有\个素数\//判断素数 private static boolean isPrime(int n){ } boolean flag = true; if(n==1) flag = false; else{ } } return flag; for(int i=2;i<=Math.sqrt(n);i++){ if((n%i)==0 || n==1){ } else flag = true; flag = false; break; 【程序3】

题目:打印出所有的\水仙花数\,所谓\水仙花数\是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个\水仙花数\,因为153=1的三次方+5的三次方+3的三次方。 程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。 public class Prog3{ public static void main(String[] args){ } //判断水仙花数 private static boolean isLotus(int lotus){ int m = 0; for(int i=100;i<1000;i++){ } System.out.println(); if(isLotus(i)) System.out.print(i+\

} int n = lotus; int sum = 0; m = n/100; n -= m*100; sum = m*m*m; m = n/10; n -= m*10; sum += m*m*m + n*n*n; if(sum==lotus) return true; else } return false; 【程序4】

题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步。

(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。 public class Prog4{ public static void main(String[] args){ } private static void decompose(int n){ System.out.print(n+\for(int i=2;i

} } } } 【程序5】

题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

程序分析:(a>b)?a:b这是条件运算符的基本例子。 public class Prog5{ } 【程序6】

题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 程序分析:利用辗除法。 public class Prog6{ public static void main(String[] args){ int m,n; try{ m = Integer.parseInt(args[0]); n = Integer.parseInt(args[1]); public static void main(String[] args){ } //成绩等级计算 private static void grade(int n){ } if(n>100 || n<0) System.out.println(\输入无效\else{ String str = (n>=90)?\分,属于A等\分,属于B等\分,属于C等\ System.out.println(n+str); } int n = -1; try{ } grade(n); n = Integer.parseInt(args[0]); System.out.println(\请输入成绩\return; }catch(ArrayIndexOutOfBoundsException e){ }catch(ArrayIndexOutOfBoundsException e){ System.out.println(\输入有误\