a Java上机程序复习Word下载.docx
《a Java上机程序复习Word下载.docx》由会员分享,可在线阅读,更多相关《a Java上机程序复习Word下载.docx(27页珍藏版)》请在冰豆网上搜索。
publicstaticvoidmain(Stringargs[])throwsIOException
InputStreamReaderread1=newInputStreamReader(System.in);
BufferedReaderinput1=newBufferedReader(read1);
Strings1;
......
s1=input1.readLine();
//从键盘读取字符串给变量s1
a=Integer.parseInt(s1);
//将s1转换为整数类型数值给变量a
b=Double.parseDouble(s1);
//将s1转换为双精度类型数值给变量b
}
条件语句:
格式1:
if(条件关系式)
语句块1;
格式2:
else
语句块2;
关系运算符:
等于==
不等于!
=
大于>
大于等于>
小于<
小于等于<
逻辑运算符:
非!
与&
&
或||
for循环语句:
for(循环变量=初始值;
循环变量<
=终止值;
循环变量=循环变量+步长值)
循环体语句;
循环变量>
循环变量=循环变量-步长值)
循环变量=循环变量*步长值)
while循环语句:
当关系表达式成立时,执行循环体中的语句,然后返回重新检验关系表达式是否成立,若不成立则不执行循环体中语句,结束循环。
while(关系表达式)
循环体语句块;
do...while循环语句:
首先执行循环体中语句块,然后检验关系表达式是否成立,若成立,则继续执行循环体中语句,否则,结束循环。
do
循环体语句块;
}while(关系表达式)
数组的声明方法:
数据类型数组名称[]=new数据类型[元素个数];
数据类型数组名称[]={数据集合};
doubles[]=newdouble[20];
doublet[]={12,34,56,78,98};
数组的输入模块:
inti;
for(i=0;
i<
20;
i=i+1)
a[i]=Math.floor(Math.random()*(N-M+1))+M;
5;
a[i]=Double.parseDouble(s1);
数组的输出模块:
System.out.println(a[i]);
随机函数的使用:
随机函数:
Math.random()
返回[0,1.0)之间的随机数。
0<
=Math.random()<
1
生面某范围内随机整数:
1.产生0~1这间的随机小数x
x=Math.random();
2.产生[0,n]这间的随机整数x
x=(int)Math.floor((n+1)*Math.random());
3.产生[m,n]范围内的随机整数x
x=(int)Math.floor((n-m+1)*Math.random()+m);
练习:
1.已知一般人平均每磅体重每天需19卡路里,若已知某人的体重(单位:
千克),求此人一天需要多少卡路里?
(1磅约为0.455千克)
2.身体质量指数(BMI)是衡量身体健康与否的一种标准,一般认为身体质量指数(BMI)在20至25之间是健康的。
计算BMI的公式:
体重除以身高的平方(体重单位为千克,身高单位为米)。
根据自己的实际情况,计算出自己的BMI。
3.已知三角形边长分别为33、35、12,利用海伦公式求其面积。
海伦公式:
假设有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:
S=
而公式里的p为半周长:
p=(a+b+c)/2
其中,平方根
的表示法:
Math.sqrt(x)
4.已知一个圆的半径是20cm,求该圆的周长与面积。
其中,圆周率的表示法:
Math.PI。
5.当给出X的值时,求下列函数的值:
y=0(x<
0)
y=x的平方根(x>
=0)
6.某商场对苹果进行促销,规定购买2公斤以上可以在原价每公斤1.5元的基础上打8折,设计一个程序计算购买X公斤苹果的应付款。
7.如果一个数能被7整除,则输出这个数,否则输出“此数不能整除7”
8.火车行李托运费,行李重量在50kg以下,每千克按0.10元计,如50kg,超出部分每千克按0.20元计。
9.闰年判断:
判断条件是:
该年份能被4但不能被100整除,或能被400整除。
importjava.io.*;
publicclasse04
publicstaticvoidmain(Stringargs[])throwsIOException
{
InputStreamReaderreader=newInputStreamReader(System.in);
BufferedReaderinput=newBufferedReader(reader);
System.out.print("
Enterthe年份:
"
);
Strings1=input.readLine();
intx=Integer.parseInt(s1);
if((x%4==0)&
(x%100!
=0)||(x%400==0))
System.out.println(x+"
是闰年"
else
不是闰年"
}
28.求
之和。
1234567
publicclassJ50210
publicstaticvoidmain(Stringargs[])
doublex,s;
x=1;
s=0;
while(x<
=7)
s=s+((Math.pow(10,x)-1)/9);
x=x+1;
System.out.println("
1+11+111+1111+……+1111111="
+s);
29.求
0.9990234375
publicclassJ50211
=10)
s=s+(1/(Math.pow(2,x)));
1/2+1/4+1/6+……+1/1024="
30.求之和。
4037913
publicclassJ50212
inty,s,p;
p=1;
y=1;
while(y<
p=p*y;
s=s+p;
y=y+1;
System.out.println("
1+1*2+1*2*3+...+1*2*3*...*9*10="
30.求
提示:
先求乘积的算式,再累加所求的积。
31.求
220
32.求
42925
33.有一群龟鹤,头150只,足400只,问龟鹤各有几只?
50,100
34.一个数被2、3、4、5、6除都余1,而正好能被7整除,问1000以内的自然数中这样的数都有哪些?
301,721
35.一个数被2除余1,被3除余2,被4除余3,被5除余4。
在500以内的自然数中这样的数有哪几个?
36.当
时,求k最小的值。
20
37.当
时,求k最大的值。
26
38.二分硬币和五分硬币共40枚,1.31元,问每种硬币各有多少枚?
二分硬币:
23,五分硬币17
39.下式中两个囗号内是一个相同的数,它到底是多少?
囗3×
6528=3囗×
8256
数字是:
4
40.两数之和是40,它们的积是375,求此二数。
这两个数是:
15,25
41.求出所有三位正整数的各位数码之和。
和:
12600
42.求出所有百位数字与十位数字之和等于个位数字的三位正整数。
共有45个。
43.在自然数中,如果一个三位数等于其自身各个数字立方和,这样的三位数称为“水仙花数”。
如:
153=1×
1×
1+5×
5×
5+3×
3×
3,所以153是水仙花数。
求所有的水仙花数。
共有4个:
153,370,371,407
publicclassK5029
publicstaticvoidmain(Stringa1[])
doublex,a,b,c;
x=99;
do
a=Math.floor(x/100);
b=Math.floor(x/10)%10;
c=x%10;
if(a*a*a+b*b*b+c*c*c==100*a+10*b+c)
x="
+x);
}while(x!
=999);
44.有一个两位正整数,加6后再把其个位数字与十位数字互换得到一个新的两位数,这样加6再互换共三次后,又得到了原来的两位数。
求这样的两位数都有哪些?
共有5个:
19,41,52,74,85.
publicclassK50210
doublex,y,a,b,f,n;
for(x=10;
x<
=99;
x=x+1)
y=x;
f=0;
n=1;
while(f==0&
n<
=3)
y=y+6;
if(y>
=100)
f=1;
a=Math.floor(y/10);
b=y%10;
y=10*b+a;
n=n+1;
if(f==0&
y==x)
45.显示出所有的三位质数。
共143个
publicclassK50211
doublex,y,f;
for(x=100;
=999;
for(y=2;
y<
=x-1;
y=y+1)
if(x%y==0)
if(f==0)
46.求所有两位质数的和。
1043
publicclassK50212
doublex,y,f,s;
s=s+x;
}System.out.println(s);
47.已知一组数列,第一项是1,第二项是1,从第三项开始每项的数值是与其相邻的前两项的和。
即(n>
=3)。
显示出该组数列中的前20项的数值。
publicclassK50213
intf1,f2,n,f3;
f1=1;
f2=1;
f1="
+f1);
f2="
+f2);
while(n<
=18)
f3=f1+f2;
f"
+(n+2)+"
="
+f3);
f1=f2;
f2=f3;
48.我国古代百马问题:
百马驮百瓦,大马驮3块,老马驮2块,两匹小马驮1块。
问大马、老马、小马各有多少匹?
23068
52570
82072
111574
141076
17578
publicclassL5028
for(inti=1;
=100;
for(intj=1;
j<
j=j+1)
for(intk=1;
k<
k=k+1)
if(3*i+2*j+0.5*k==100&
i+j+k==100)
System.out.println(i+"
"
+j+"
+k);
49.古代数学问题:
鸡、兔、九头鸟同笼,头百只、脚百只。
问鸡、兔、九头鸟各有多少只?
14148
3167
publicclassL5029
if(2*i+4*j+2*k==100&
i+j+9*k==100)
50.蜘蛛有8条腿,蜻蜓有6条腿2对翅膀,蝉有6条腿1对翅膀。
三种昆虫共有18只,118条腿和20对翅膀,问每种昆虫各有多少只?
蜘蛛5蜻蜓7蝉6
publicclassL50210
=18;
if(8*i+6*j+6*k==118&
i+j+k==18&
2*j+k==20)
51.将这组数据:
100,101,102,103,104,105,106,107,108,109存储数组s中,并显示数组s中的所有数据。
publicclassM5025
ints[]=newint[10];
inti;
for(i=0;
=9;
s[i]=i+100;