欢迎来到天天文库
浏览记录
ID:57838410
大小:358.00 KB
页数:40页
时间:2020-03-31
《Java基础编程题(含问题详解).doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实用文档50道JAVA基础编程练习题【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....publicclassProg1{publicstaticvoidmain(String[]args){intn=10;System.out.println("第"+n+"个月兔子总数为"+fun(n));}privatestaticintfun(intn){if(n==1
2、
3、n==2)return1
4、;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、t%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;i<=Math.sqrt(n);i++){if((n%i)==06、7、n==1){flag=false;break;}elseflag=true;}}return8、flag;}}【程序3】题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。publicclassProg3{publicstaticvoidmain(String[]args){for(inti=100;i<1000;i++){if(isLotus(i))System.out.print(i+"");}System.out.println();}//判断水仙花9、数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;elsereturnfalse;}}【程序4】题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,10、打印出即可。(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){System.out.print(n+"=");for(inti=2;i11、int(i+"*");}if(n==i){System.out.println(i);break;}}实用文档}}【程序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(ArrayIndexOutOfBoundsExceptione){12、System.out.println("请输入成绩"
5、t%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;i<=Math.sqrt(n);i++){if((n%i)==0
6、
7、n==1){flag=false;break;}elseflag=true;}}return
8、flag;}}【程序3】题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。publicclassProg3{publicstaticvoidmain(String[]args){for(inti=100;i<1000;i++){if(isLotus(i))System.out.print(i+"");}System.out.println();}//判断水仙花
9、数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;elsereturnfalse;}}【程序4】题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,
10、打印出即可。(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){System.out.print(n+"=");for(inti=2;i11、int(i+"*");}if(n==i){System.out.println(i);break;}}实用文档}}【程序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(ArrayIndexOutOfBoundsExceptione){12、System.out.println("请输入成绩"
11、int(i+"*");}if(n==i){System.out.println(i);break;}}实用文档}}【程序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(ArrayIndexOutOfBoundsExceptione){
12、System.out.println("请输入成绩"
此文档下载收益归作者所有