欢迎来到天天文库
浏览记录
ID:46762038
大小:222.48 KB
页数:40页
时间:2019-11-27
《JAVA基础50道精选经典练习题及答案汇总》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、沃克IT教育JAVA基础编程练习题整理:Lemon【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....publicclassProg1{publicstaticvoidmain(String[]args){intn=10;System.out.println("第"+n+"个月兔子总数为"+fun(n));}privatestatici
2、ntfun(intn){if(n==1
3、
4、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;i5、;i++){if(isPrime(i)){count++;System.out.print(i+"");if(count%10==0){System.out.println();}}}System.out.println();System.out.println("在"+m+"和"+n+"之间共有"+count+"个素数");}//判断素数privatestaticbooleanisPrime(intn){booleanflag=true;if(n==1)flag=false;else{for(inti=26、;i<=Math.sqrt(n);i++){if((n%i)==07、8、n==1){flag=false;break;}elseflag=true;}}returnflag;}}【程序3】题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。publicclassProg3{publicstaticvoidmain9、(String[]args){for(inti=100;i<1000;i++){if(isLotus(i))System.out.print(i+"");}System.out.println();}//判断水仙花数privatestaticbooleanisLotus(intlotus){intm=0;intn=lotus;intsum=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)returntrue10、;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{publicstaticvoidmai11、n(String[]args){intn=13;decompose(n);}privatestaticvoiddecompose(intn){System.out.print(n+"=");for(inti=2;i=90分的同学用A表示,60-89分之12、间的用B表示,60分以下的用C表示。程序分析:(a>b)?a:b这是条件运算符的基本例子。publicclassProg5{publicstaticvoidmain(String[]args){intn=-1;try{n=Integer.parseInt(args[0]);}catch(ArrayIndexOutOfBoundsExceptione){System.out.println("请输入成绩");ret
5、;i++){if(isPrime(i)){count++;System.out.print(i+"");if(count%10==0){System.out.println();}}}System.out.println();System.out.println("在"+m+"和"+n+"之间共有"+count+"个素数");}//判断素数privatestaticbooleanisPrime(intn){booleanflag=true;if(n==1)flag=false;else{for(inti=2
6、;i<=Math.sqrt(n);i++){if((n%i)==0
7、
8、n==1){flag=false;break;}elseflag=true;}}returnflag;}}【程序3】题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。publicclassProg3{publicstaticvoidmain
9、(String[]args){for(inti=100;i<1000;i++){if(isLotus(i))System.out.print(i+"");}System.out.println();}//判断水仙花数privatestaticbooleanisLotus(intlotus){intm=0;intn=lotus;intsum=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)returntrue
10、;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{publicstaticvoidmai
11、n(String[]args){intn=13;decompose(n);}privatestaticvoiddecompose(intn){System.out.print(n+"=");for(inti=2;i=90分的同学用A表示,60-89分之
12、间的用B表示,60分以下的用C表示。程序分析:(a>b)?a:b这是条件运算符的基本例子。publicclassProg5{publicstaticvoidmain(String[]args){intn=-1;try{n=Integer.parseInt(args[0]);}catch(ArrayIndexOutOfBoundsExceptione){System.out.println("请输入成绩");ret
此文档下载收益归作者所有