欢迎来到天天文库
浏览记录
ID:37921544
大小:298.00 KB
页数:41页
时间:2019-06-02
《java 入门50道编程题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
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;elsereturnfun(n-
4、1)+fun(n-2);}}【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。publicclassProg2{publicstaticvoidmain(String[]args){intm=1;intn=1000;intcount=0;//统计素数个数for(inti=m;i5、}}}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;}}returnflag;}}【程序3】题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位8、数字立方和等于该数本身。例如: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();}//判断水仙花数privatestaticbooleanisLotus(intlotus){intm=0;intn=lotus;int9、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)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+110、作为k的值,重复执行第一步。publicclassProg4{publicstaticvoidmain(String[]args){intn=13;decompose(n);}privatestaticvoiddecompose(intn){System.out.print(n+"=");for(inti=2;i=90分的同学用11、A表示,60-89分之间的用B表示,60分以下的用C表示。程序分析:(a>b)?a:b这是条件运算符的基本例子。publicclassProg5{publicstaticvoidmain(String[]args){intn=-1;try{n=Integer.parseInt(args[0]);}catch(ArrayIndexOutOfBoundsExceptione){System.out.println("请输入成绩");return;}grade(
5、}}}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;}}returnflag;}}【程序3】题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位
8、数字立方和等于该数本身。例如: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();}//判断水仙花数privatestaticbooleanisLotus(intlotus){intm=0;intn=lotus;int
9、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)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
10、作为k的值,重复执行第一步。publicclassProg4{publicstaticvoidmain(String[]args){intn=13;decompose(n);}privatestaticvoiddecompose(intn){System.out.print(n+"=");for(inti=2;i=90分的同学用
11、A表示,60-89分之间的用B表示,60分以下的用C表示。程序分析:(a>b)?a:b这是条件运算符的基本例子。publicclassProg5{publicstaticvoidmain(String[]args){intn=-1;try{n=Integer.parseInt(args[0]);}catch(ArrayIndexOutOfBoundsExceptione){System.out.println("请输入成绩");return;}grade(
此文档下载收益归作者所有