java testWord下载.docx
- 文档编号:20975082
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:47
- 大小:33.13KB
java testWord下载.docx
《java testWord下载.docx》由会员分享,可在线阅读,更多相关《java testWord下载.docx(47页珍藏版)》请在冰豆网上搜索。
判断101-200之间有多少个素数,并输出所有素数。
判断素数的方法:
用一个数分别去除2到sqrt(这个数),如果能被整除,
则表明此数不是素数,反之是素数。
importjava.lang.Object;
publicclassTest2
{publicstaticbooleanisPrime(intnum){
for(inti=2;
i<
=Math.sqrt(num);
i++){//程序默认2是素数,当j=2时,循环不执行
if(num%i==0){
returnfalse;
returntrue;
publicstaticvoidmain(Stringargs[])
for(inti=101;
=200;
if(Test2.isPrime(i)){
System.out.println(i+"
isaprime"
}
}
【程序3】
打印出所有的"
水仙花数"
,所谓"
是指一个三位数,其各位数字立方和等于该数本身。
例如:
153是一个"
,因为153=1的三次方+5的三次方+3的三次方。
利用for循环控制100-999个数,每个数分解出个位,十位,百位。
publicclassTest3
{
publicstaticbooleanisWater(intnum)
inta=num%10;
//个位数
intb=(num%100)/10;
//十位数
intc=num/100;
//百位数
if(num==(Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3)))
publicstaticvoidmain(Stringargs[])
for(inti=100;
=999;
{if(Test3.isWater(i))
System.out.println(i+"
是水仙数。
【程序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作为k的值,重复执行第一步。
publicclassTest4
{//来自水晶之恋
//爱如空气
publicstaticvoidmain(String[]args)
intk=2;
Scannerinput=newScanner(System.in);
请输入一个正整数:
intnum=input.nextInt();
if(num<
=1)
System.out.println("
无效的被分解数!
!
return;
if(num==k)
System.out.println(num+"
="
+"
1*"
+num);
else
System.out.print(num+"
=1"
while(num>
=k)
if(num%k==0)
*"
+k);
num=num/k;
k=k+1;
【程序5】
利用条件运算符的嵌套来完成此题:
学习成绩>
=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
(a>
b)?
a:
b这是条件运算符的基本例子。
{
publicstaticvoidmain(String[]args){
inta;
Scannerin=newScanner(System.in);
请输入你的成绩(100以内的整数)"
a=in.nextInt();
if(a>
=90)
System.out.print("
你的成绩是:
A级"
);
else{
if(a>
=60&
&
a<
=89)
{
System.out.print("
B级"
}
else{
System.out.print("
C级"
【程序6】
输入两个正整数m和n,求其最大公约数和最小公倍数。
利用辗除法。
publicclassTestCommonNum
{staticlonga=0,b=0,c=0;
publicstaticvoidmain(String[]args){
pleaseinputtwonumbers:
firstnumber:
a=in.nextLong();
fsecondnumber:
b=in.nextLong();
gongyueshu"
+commonMul(a,b));
gongbeishu"
+a*b/commonMul(a,b));
publicstaticlongcommonMul(longx,longy){
if(x<
y){
longtemp=0;
temp=x;
x=y;
y=temp;
}
do
{
c=x%y;
y=c;
while(c!
=0);
returnx;
}
【程序7】
输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
利用while语句,条件为输入的字符不为'
\n'
.
publicclassTest4{
publicstaticvoidmain(String[]args){
Strings="
sdfjaf-0^&
*54y4"
;
intcharNum=0;
intblankNum=0;
intNum=0;
intotherNum=0;
chara[]=s.toCharArray();
for(inti=0;
a.length;
i++){
if(a[i]>
='
a'
&
a[i]<
z'
||a[i]>
A'
Z'
){
charNum++;
}elseif(a[i]=='
'
blankNum++;
}elseif(a[i]>
1'
9'
Num++;
}else{
otherNum++;
}
System.out.println("
字母的个数"
+charNum);
空格的个数"
+blankNum);
数字的个数"
+Num);
其他字符的个数"
+otherNum);
【程序8】
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
关键是计算出每一项的值。
publicclassTest
publicstaticvoidmain(Stringargs[]){
doublea=1.0;
//要计算的数字
doubleb=a;
//控制变化的递增的大小
doublesum=0.0;
//计算结果的总和
doubleCnum=3.0;
//要求几个数相加
sum=a;
for(doublei=1.0;
=Cnum;
i++){
doublec=0.0;
c=b*Math.pow(10.0,i);
a+=c;
sum+=a;
System.out.println(sum);
【程序9】
一个数如果恰好等于它的因子之和,这个数就称为"
完数"
。
例如6=1+2+3.编程
找出1000以内的所有完数。
classTestWanShu{publicstaticvoidmain(String[]args)
intsum=0;
intsq;
intwanshu=1;
System.out.println(wanshu+"
是一个完数"
for(wanshu=2;
wanshu<
=1000;
wanshu++){
sq=wanshu/2;
do{
if(wanshu%sq==0){
sum+=sq;
}
sq--;
}while(sq>
0);
if(wanshu==sum){
System.out.println(wanshu+"
是一个完数;
sum=0;
【程序10】
一球从100米高度自由落下,每次落地后反跳回原高度的一半;
再落下,求它在
第10次落地时,共经过多少米?
第10次反弹多高?
doublea;
doublesum;
a=100;
sum=0;
for(inti=0;
10;
i++)
sum+=2*a;
a=a/2;
第10次落地时,共经过:
+(sum-100)+"
米"
第10次反弹"
+a+"
【程序11】
有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?
都是多少?
可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去
掉不满足条件的排列
publicclassSubject11{
publicstaticvoidmain(String[]args){
intcount=0;
for(inti=1;
5;
for(intj=1;
j<
j++)
for(intk=1;
k<
k++)
if(i!
=j&
i!
=k&
j!
count++;
System.out.println(i*100+j*10+k);
由1,2,3,4共可以组成"
+count+"
个互不相同且无重复数字的三位数!
//来自
【程序12】
企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;
利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;
20万到40万之间时,高于20万元的部分,可提成5%;
40万到60万之间时高于40万元的部分,可提成3%;
60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
请利用数轴来分界,定位。
注意定义时需把奖金定义成长整型。
longreward;
Scannerin=newScanner(System.in);
输入当月利润:
reward=in.nextLong();
doubleb;
longa=reward;
if(a<
=10000&
a>
0){
b=(long)a*10/100;
你可以获得奖金:
+b);
elseif(a>
100000&
a<
=200000){
b=(long)(a-100000)*7.75/100+(100000*10/100);
+b);
200000&
=400000){
b=(long)(a-200000)*5/100+(100000*7.5/100)+(100000*10/100);
400000&
=600000){
b=(long)(a-400000)*3/100+(200000*5/100)+(200000*7.5/100)+(100000*10/100);
600000&
=1000000){
b=(long)(a-600000)*1.5/100+(200000*5/100)+(200000*3/100)+(200000*7.5/100)+(100000*10/100);
1000000){
b=(long)(a-1000000)*1.5/100+(200000*5/100)+(400000*1.5/100)+(200000*3/100)+(200000*7.5/100)+(100000*10/100);
else{
你的输入有错误:
【程序13】
一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。
请看具体分析:
publicclassTestFullSqrt
publicstaticvoidmain(String[]args)
for(longi=1;
100000;
i++)
if(Math.sqrt(i+100)%1==0&
Math.sqrt(i+268)%1==0)
System.out.println(i+"
满足加上100后是一个完全平方数,再加上168又是一个完全平方数"
【程序14】
输入某年某月某日,判断这一天是这一年的第几天?
以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。
【程序15】
输入三个整数x,y,z,请把这三个数由小到大输出。
我们想办法把最小的数放到x上,先将x与y进行比较,如果x>
y则将x与y的值进行交换,然后再用x与z进行比较,如果x>
z则将x与z的值进行交换,这样能使x最小。
{intx;
inty;
intz;
System.out.print("
请输入x的值:
x=in.nextInt();
System.out.print("
请输入y的值:
y=in.nextInt();
请输入z的值:
z=in.nextInt();
x,y,z从小到大的顺序是:
if(x<
y)
{if(x<
z){
if(y<
z){
System.out.println(x+"
"
+y+"
+z);
}else{
System.out.println(x+"
+z+"
+y);
}else{
System.out.println(z+"
+x+"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java test
![提示](https://static.bdocx.com/images/bang_tan.gif)