非常经典的JAVA编程题全集题及答案资料下载.pdf
《非常经典的JAVA编程题全集题及答案资料下载.pdf》由会员分享,可在线阅读,更多相关《非常经典的JAVA编程题全集题及答案资料下载.pdf(31页珍藏版)》请在冰豆网上搜索。
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表示。
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;
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;
y=k;
returnx;
【程序7】题目:
输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
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个数相加),几个数相加有键盘控制。
publicclasslianxi08publicstaticvoidmain(Stringargs)longa,b=0,sum=0;
System.out.print(输入数字a的值:
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;
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】题目:
输入某年某月某日,判断这一天是这一年的第几天?
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);
iy)intt=x;
if(xz)intt=x;
x=z;
z=t;
if(yz)intt=y;
y=z;
System.out.println(三个数字由小到大排列为:
+x+y+z);
classinputpublicintinput()intvalue=0;
value=s.nextInt();
returnvalue;
【程序16】题目:
输出9*9口诀。
publicclasslianxi16publicstaticvoidmain(Stringargs)for(inti=1;
i+)for(intj=1;
j=i;
j+)System.out.print(j+*+i+=+j*i+);
if(j*i10)System.out.print();
System.out.println();
【程序17】题目:
猴子吃桃问题:
猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又