非常经典的JAVA编程题全集题及答案.pdf

上传人:b****2 文档编号:3210244 上传时间:2022-11-20 格式:PDF 页数:31 大小:220.66KB
下载 相关 举报
非常经典的JAVA编程题全集题及答案.pdf_第1页
第1页 / 共31页
非常经典的JAVA编程题全集题及答案.pdf_第2页
第2页 / 共31页
非常经典的JAVA编程题全集题及答案.pdf_第3页
第3页 / 共31页
非常经典的JAVA编程题全集题及答案.pdf_第4页
第4页 / 共31页
非常经典的JAVA编程题全集题及答案.pdf_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

非常经典的JAVA编程题全集题及答案.pdf

《非常经典的JAVA编程题全集题及答案.pdf》由会员分享,可在线阅读,更多相关《非常经典的JAVA编程题全集题及答案.pdf(31页珍藏版)》请在冰豆网上搜索。

非常经典的JAVA编程题全集题及答案.pdf

【程序1】题目:

古典问题:

有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

/这是一个菲波拉契数列问题publicclasslianxi01publicstaticvoidmain(Stringargs)System.out.println(第1个月的兔子对数:

1);System.out.println(第2个月的兔子对数:

1);intf1=1,f2=1,f,M=24;for(inti=3;i=M;i+)f=f2;f2=f1+f2;f1=f;System.out.println(第+i+个月的兔子对数:

+f2);【程序2】题目:

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

程序分析:

判断素数的方法:

用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

publicclasslianxi02publicstaticvoidmain(Stringargs)intcount=0;for(inti=101;i200;i+=2)booleanb=false;for(intj=2;j=Math.sqrt(i);j+)if(i%j=0)b=false;break;elseb=true;if(b=true)count+;System.out.println(i);System.out.println(素数个数是:

+count);【程序3】题目:

打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。

例如:

153是一个水仙花数,因为153=1的三次方5的三次方3的三次方。

publicclasslianxi03publicstaticvoidmain(Stringargs)intb1,b2,b3;for(intm=101;m1000;m+)b3=m/100;b2=m%100/10;b1=m%10;if(b3*b3*b3+b2*b2*b2+b1*b1*b1)=m)System.out.println(m+是一个水仙花数);【程序4】题目:

将一个正整数分解质因数。

例如:

输入90,打印出90=2*3*3*5。

程序分析:

对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:

(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

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

(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

importjava.util.*;publicclasslianxi04publicstaticvoidmain(Stringargs)Scanners=newScanner(System.in);System.out.print(请键入一个正整数:

);intn=s.nextInt();intk=2;System.out.print(n+=);while(k=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

importjava.util.*;publicclasslianxi05publicstaticvoidmain(Stringargs)intx;chargrade;Scanners=newScanner(System.in);System.out.print(请输入一个成绩:

);x=s.nextInt();grade=x=90?

A:

x=60?

B:

C;System.out.println(等级为:

+grade);【程序6】题目:

输入两个正整数m和n,求其最大公约数和最小公倍数。

/*在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0,返回较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。

*/importjava.util.*;publicclasslianxi06publicstaticvoidmain(Stringargs)inta,b,m;Scanners=newScanner(System.in);System.out.print(键入一个整数:

);a=s.nextInt();System.out.print(再键入一个整数:

);b=s.nextInt();deffcd=newdeff();m=cd.deff(a,b);intn=a*b/m;System.out.println(最大公约数:

+m);System.out.println(最小公倍数:

+n);classdeffpublicintdeff(intx,inty)intt;if(xy)t=x;x=y;y=t;while(y!

=0)if(x=y)returnx;elseintk=x%y;x=y;y=k;returnx;【程序7】题目:

输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

importjava.util.*;publicclasslianxi07publicstaticvoidmain(Stringargs)intdigital=0;intcharacter=0;intother=0;intblank=0;charch=null;Scannersc=newScanner(System.in);Strings=sc.nextLine();ch=s.toCharArray();for(inti=0;i=0&ch=a&chA&ch=Z)character+;elseif(ch=)blank+;elseother+;System.out.println(数字个数:

+digital);System.out.println(英文字母个数:

+character);System.out.println(空格个数:

+blank);System.out.println(其他字符个数:

+other);【程序8】题目:

求s=a+aa+aaa+aaaa+aa.a的值,其中a是一个数字。

例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

importjava.util.*;publicclasslianxi08publicstaticvoidmain(Stringargs)longa,b=0,sum=0;Scanners=newScanner(System.in);System.out.print(输入数字a的值:

);a=s.nextInt();System.out.print(输入相加的项数:

);intn=s.nextInt();inti=0;while(in)b=b+a;sum=sum+b;a=a*10;+i;System.out.println(sum);【程序9】题目:

一个数如果恰好等于它的因子之和,这个数就称为完数。

例如6=123.编程找出1000以内的所有完数。

publicclasslianxi09publicstaticvoidmain(Stringargs)System.out.println(1到1000的完数有:

);for(inti=1;i1000;i+)intt=0;for(intj=1;j=i/2;j+)if(i%j=0)t=t+j;if(t=i)System.out.print(i+);【程序10】题目:

一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?

第10次反弹多高?

publicclasslianxi10publicstaticvoidmain(Stringargs)doubleh=100,s=100;for(inti=1;i10;i+)s=s+h;h=h/2;System.out.println(经过路程:

+s);System.out.println(反弹高度:

+h/2);【程序11】题目:

有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?

都是多少?

publicclasslianxi11publicstaticvoidmain(Stringargs)intcount=0;for(intx=1;x5;x+)for(inty=1;y5;y+)for(intz=1;z0&x10&x20&x40&x60&x100)y=20*0.175+40*0.08+40*0.015+(x-100)*0.01;System.out.println(应该提取的奖金是+y+万);【程序13】题目:

一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

publicclasslianxi13publicstaticvoidmain(Stringargs)for(intx=1;x100000;x+)if(Math.sqrt(x+100)%1=0)if(Math.sqrt(x+268)%1=0)System.out.println(x+加100是一个完全平方数,再加168又是一个完全平方数);/*按题意循环应该从-100开始(整数包括正整数、负整数、零),这样会多一个满足条件的数-99。

但是我看到大部分人解这道题目时都把题中的“整数”理解成正整数,我也就随大流了。

*/【程序14】题目:

输入某年某月某日,判断这一天是这一年的第几天?

importjava.util.*;publicclasslianxi14publicstaticvoidmain(Stringargs)intyear,month,day;intdays=0;intd=0;inte;inputfymd=newinput();doe=0;System.out.print(输入年:

);year=fymd.input();System.out.print(输入月:

);month=fymd.input();System.out.print(输入天:

);day=fymd.input();if(year0|month12|day31)System.out.println(输入错误,请重新输入!

);e=1;while(e=1);for(inti=1;iy)intt=x;x=y;y=t;if(xz)intt=x;x=z;z=t;if(yz)intt=y;y=z;z=t;System.out.println(三个数字由小到大排列为:

+x+y+z);classinputpublicintinput()intvalue=0;Scanners=newScanner(System.in);value=s.nextInt();returnvalue;【程序16】题目:

输出9*9口诀。

publicclasslianxi16publicstaticvoidmain(Stringargs)for(inti=1;i10;i+)for(intj=1;j=i;j+)System.out.print(j+*+i+=+j*i+);if(j*i10)System.out.print();System.out.println();【程序17】题目:

猴子吃桃问题:

猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1