如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
50道JAVA基础编程练习题【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....publicclassProg1{publicstaticvoidmain(String[]args){intn=10;第个月兔子总数为}privatestaticintfun(intn){if(n==1||n==2)return1;elsereturnfun(n-1)+fun(n-2);}}【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。publicclassProg2{publicstaticvoidmain(String[]args){intm=1;intn=1000;intcount=0;//统计素数个数for(inti=m;i<n;i++){if(isPrime(i)){count++;if(count%10==0){System.out.println();}}}System.out.println();在和之间共有个素数1/40}//判断素数privatestaticbooleanisPrime(intn){booleanflag=true;if(n==1)flag=false;else{for(inti=2;i<=Math.sqrt(n);i++){if((n%i)==0||n==1){flag=false;break;}elseflag=true;}}returnflag;}}【程序3】题目:打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个水仙花数,因为153=1的三次方+5的三次方+3的三次方。程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。publicclassProg3{publicstaticvoidmain(String[]args){for(inti=100;i<1000;i++){if(isLotus(i))}System.out.println();}//判断水仙花数privatestaticbooleanisLotus(intlotus){intm=0;intn=lotus;intsum=0;2/40m=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)returntrue;elsereturnfalse;}}【程序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的值,重复执行第一步。publicclassProg4{publicstaticvoidmain(String[]args){intn=13;decompose(n);}privatestaticvoiddecompose(intn){for(inti=2;i<n+1;i++){while(n%i==0&&n!=i){n/=i;}if(n==i){System.out.println(i);break;}}3/40}}【程序5】题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。程序分析:(a>b)?a:b这是条件运算符的基本例子。publicclassProg5{publicstaticvoidmain(String[]args){intn=-1;try{n=Integer.parseInt(args[0]);}catch(ArrayIndex