java上机题及答案doc.docx
- 文档编号:6719690
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:11
- 大小:17.45KB
java上机题及答案doc.docx
《java上机题及答案doc.docx》由会员分享,可在线阅读,更多相关《java上机题及答案doc.docx(11页珍藏版)》请在冰豆网上搜索。
java上机题及答案doc
题目
【程序1】
题目:
有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?
都是多少?
1.程序分析:
可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
【程序2】
题目:
打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
例如:
153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
1.程序分析:
利用for循环控制100-999个数,每个数分解出个位,十位,百位。
【程序3】
题目:
判断101-200之间有多少个素数,并输出所有素数。
1.程序分析:
判断素数的方法:
用一个数分别去除2到sqrt(这个数),如果能被整除,
则表明此数不是素数,反之是素数。
【程序4】
题目:
将一个正整数分解质因数。
例如:
输入90,打印出90=2*3*3*5。
程序分析:
对n进行分解质因数,应先找到-个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果nok,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
⑶如果n不能被k整除,则用k+1作为k的值,重复执行第…步。
【程序5】
题目:
利用条件运算符的嵌套来完成此题:
学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
1.程序分析:
(a>b)?
a:
b这是条件运算符的基本例子。
【程序6]
题目:
输入两个正整数m和n,求其最大公约数和最小公倍数。
1.程序分析:
利用辗除法。
【程序7]
题目:
输入一■行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
1.程序分析:
利用while语句,条件为输入的字符不为、nL
【程序8】
题目:
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
1.程序分析:
关键是计算出每一项的值。
【程序9】
题目:
一个数如果恰好等于它的因子之和,这个数就称为"完数"。
例如6=1+2+3.编程找出1000以内的所有完数。
【程序10]
题目:
一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?
第10次反弹多高?
代码
【程序1】
publicclassIteml
{
publicstaticvoidmain(String[]args)
{
Num();
}
publicstaticvoidNum()
{
inti=l;
intj=l;
intk=l;
intsum=0;//记录能够组成三位数的个数
intnumber;//表示的三位数
for(i=l;i<5;i++)
{
for(j=l;j<5;j++)
{
if(i==j)
continue;//确保十位与百位数字不相同
for(k=l;k<5;k++)
{
if(i==k||j==k)
continue;//确保个位与十位、百位的数字不相同
sum=sum+l;
number=i*100+j*10+k;
System.out.println(number);
)
}
number=i*100+j*10+k;
}
System.out.println("组成互不相同且无重复数字的三位数的个数为:
"+sum);
}
)
【程序2】
publicclassItem2
{
publicstaticvoidmain(String[]args)
(
System.out.print("100到1000之间的水仙花数有:
");
for(inti=100;i<1000;i++)
if(isDaffodil⑴)
System.out.print(i+"");
}
}
publicstaticbooleanisDaffodil(intn)〃判断一个三位数是否是水仙花数(
inti=n/100;〃得到百位上的数
intj=(n-100*i)/10;//得到十位上的数
intk=n%10;//得到个位上的数
if(n==i*i*i+j*j*j+k*k*k)
returntrue;
else
returnfalse;
}
}
【程序3】
publicclassItem3
(
publicstaticvoidmain(String[]strs)
(
System.out.print("101到200之间的素数有:
");
for(intj=102;j<200;j++)
{
if(isPrime(j))
System.out.print(j+"");
)
}
publicstaticbooleanisPrime(intn)〃判断一个数是否是素数
{
for(inti=2;i<=Math.sqrt(n);i++)
{
if(n%i==O)
returnfalse;
}
returntrue;
}
)
【程序4】
publicclassItem4
factor(500);
}
publicstaticvoidfactorfintn)
{
forfinti=2;i ( if(n%i==0)〃得到因子i { System.out.print(i+"*"); n=n/i; i=l; ) } System.out.println(n); } } 【程序5】 importjava.util.*; publicclassItem5 { publicstaticvoidmain(String[]args) { intx; Scanners=newScanner(System.in); System.out.print("请输入一个成绩: "); x=s.nextlnt(); Grade(x); } publicstaticvoidGrade(intx) ( chargrade=x>=90? 'A' : x<60? 'C : B; System.out.println("等级为: "+grade); } } 【程序6】 importjava.util.*; Scanners=newScanner(System.in); System.out.println("请输入一个整数: "); intm=s.nextlnt(); System.out.println("请再输入一个整数: "); intn=s.nextlnt(); System.out.println(m+"与”+n+”的最大公约数为: ”+GCD(m,n)); System.out.println(m+"与”+n+”的最小公倍数为: "+LCM(m,n)); } publicstaticintGCD(intm,intn)〃求两个数的最大公约数 { intmax; intmin; if(m>n) { max=m; min=n; ) else ( max=n; min=m; } for(;;) { if(max%min==O) ( returnmin; } else ( intt=min; min=max%min; max=t; } ) ) publicstaticintLCM(intm,intn)〃求最小公倍数 ( returnm*n/GCD(m,n); ) } 【程序7】 importjava.util.*; publicclassItem7 { publicstaticvoidmain(String[]args) { System.out.println(); Scannerinput=newScanner(System.in); System.out.println(,•请输入一个字符串: "); Stringstr=input.nextLine(); System.out.println(str); StringCount(str); } publicstaticvoidStringCount(Strings) ( inti=0;〃统计字符串中字母的个数 intj=0;〃统计字符串中数字的个数 intk=0;〃统计字符串中空格的个数 int1=0;〃统计字符串中其他字符的个数 chara[]=s.toCharArray(); for(intii=O;ii { intascii=a[ii];//获取ASCII码值 //System.out.println(a[ii]); if(ascii>=65&&ascii<=901|ascii>=97&&ascii<=122)i=++i; if(ascii==32) k=++k; if(ascii>=48&&ascii<=57) j=++j; ) l=a.length-i-j-k; System.out.println("字母的个数为: "+i); System.out.println("数字的个数为: "+j); System.out.println("空格的个数为: "+k); System.out.println(,,其他字符的个数为: "+I); ) } 【程序8】 System.out.println(Sum(2,4)); ) publicstaticintNum(intm,intn)//n个m所表示的数 { intnumber=0; for(inti=l;i<=n;i++) { intx=m*(int)Math.pow(10,i-l); number=x+number; ) returnnumber; } publicstaticintSum(intm,intn)〃求和 { intsum=0; for(inti=l;i<=n;i++) { sum=sum+Num(m,i); ) returnsum; ) ) 【程序9】 publicclassItem9 ( publicstaticvoidmain(String[]args) { for(inti=l;i<1000;i++)〃输出1000以内的完数 ( if(PerfectNumber(i)) System.out.print(i+""); } } publicstaticbooleanPerfectNumber(intn)〃判断一个数是否是完数( intsum=0;//记录因子的和 forfinti=l;i ( if(n%i==0) sum=sum+i; if(sum==n) returntrue; else returnfalse; } } 【程序10] publicclassItemlO { publicstaticvoidmain(String[]args) ( hight(); ) publicstaticvoidhight() { doubleh=100.0; doublesum=h; for(inti=2;i<=10;i++)//i表示第几次下落 { sum=sum+h;〃注意除第一次下落外,其它每次下落经过的路程为前一次下落的局度 h/=2; } System.out.println(”第10次反弹的高度为: "+h); System.out.println("第10次下落共经过的距离为: "+sum);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 上机 答案 doc