JAVA练习答案Word下载.docx
《JAVA练习答案Word下载.docx》由会员分享,可在线阅读,更多相关《JAVA练习答案Word下载.docx(62页珍藏版)》请在冰点文库上搜索。
importjava.util.Scanner;
publicclassTest30005{
publicstaticvoidmain(String[]args){
intri,repeat;
floatrate,salary,tax;
Scannerin=newScanner(System.in);
repeat=in.nextInt();
for(ri=1;
ri<
=repeat;
ri++){
salary=in.nextFloat();
if(salary<
850)
tax=0;
elseif(salary>
=850&
salary<
1350)
tax=(salary-850)*0.05f;
=1350&
2850)
tax=(salary-850)*0.1f;
=2850&
5850)
tax=(salary-850)*0.15f;
else
tax=(salary-850)*0.2f;
System.out.println("
tax="
+(int)(tax*100+0.5)/100.0);
}
}
以下4种水果的单价分别是3.00元/公斤,2.50元/公斤,4.10元/公斤,10.20元/公斤。
[1]apples
[2]pears
[3]oranges
[4]grapes
输入水果的编号,输出该水果的单价。
如果输入不正确的编号,显示单价为0。
1(repeat=1)
3(oranges的编号)
price=4.1
publicclassTest30006{
intchoice;
floatprice;
System.out.println("
[1]apples"
);
[2]pears"
[3]oranges"
[4]grapes"
choice=in.nextInt();
if(choice==1)
price=3;
elseif(choice==2)
price=2.5f;
elseif(choice==3)
price=4.1f;
elseif(choice==4)
price=10.2f;
price=0;
price="
+price);
输入一批以问号“?
”结束的字符,对“?
”以前的每一个字符,如果它是大写字母,输出相应的小写字母;
如果它是小写字母,输出相应的大写字母;
否则,原样输出。
F=y?
f=Y
importjava.io.*;
publicclassTest30007{
publicstaticvoidmain(String[]args)throwsIOException{
charch;
ch=(char)System.in.read();
while(ch!
='
?
'
){
if(ch>
a'
&
ch<
z'
)
ch=(char)(ch-'
+'
A'
elseif(ch>
Z'
System.out.print(ch);
读入1个正整数n(n<
=50),计算并输出n!
。
3(repeat=2)
1
10
5
1.0
3628800.0
120.0
publicclassTest40001{
publicstaticvoidmain(String[]args){
inti,n;
floatsum;
n=in.nextInt();
sum=0;
for(i=1;
i<
=n;
i++){
sum=sum+1.0f/i;
}
System.out.println((int)(sum*1000+0.5)/1000.);
读入1个正实数x和1个正整数n(n<
=50),计算并输出x的n次幂。
2(repeat=2)
1.52
2.010
2.25
1024.0
publicclassTest40003{
doublex,mypow;
x=in.nextDouble();
mypow=0;
i<
i++){
mypow=Math.pow(x,n);
System.out.println(mypow);
=100),计算并输出1-1/2+1/3-1/4+……的前n项和(四舍五入保留小数4位)。
3
0.6456
0.8333
publicclassTest40004{
inti,n,flag;
n=in.nextInt();
sum=0;
for(i=1;
if(i%2==1)
sum=sum+1.0f/i;
else
sum=sum-1.0f/i;
System.out.println((long)(sum*10000+0.5)/10000.);
第七周
=100),计算并输出1+1/3+1/5+1/7+……的前n项和。
2.133256
1.5333334
publicclassTest40005{
inti,n,temp;
=2*n-1;
i=i+2){
sum=sum+(float)1/i;
System.out.println(sum);
读入1个正实数eps,计算并输出1-1/3+1/5-1/7+……,直到最后一项的绝对值小于eps为止(要求每一项的绝对值均大于等于eps,并以float类型输出数据)。
1E-4
0.1
0.7853
0.8349
publicclasssdgf{
publicstaticvoidmain(String[]args){
inttemp,flag;
doubleeps,item,sum;
eps=in.nextDouble();
item=1;
temp=1;
do
{
if(temp%2==0)
sum=sum-item;
sum=sum+item;
temp=temp+1;
item=1.0f/(2*temp-1);
}while(item>
=eps);
System.out.println((int)(sum*10000+0.5)/10000.);
输入2个整数begin和end,分别代表摄氏温度的起止值,输出该范围内摄氏温度C和华氏温度F的转换表。
F=32+C*9/5
输出语句:
System.out.println(c+"
"
+f);
1(repeat=1)
57
CelsiusFahrenheit
541
642
744
publicclassTest40007{
intbegin,c,end,f;
begin=in.nextInt();
end=in.nextInt();
CelsiusFahrenheit"
for(c=begin;
c<
=end;
c++){
f=32+c*9/5;
System.out.println(c+"
读入一批正整数(以零或负数为结束标志),求其中的奇数和。
139070
87437056101-1
11
116
第八周
输入1个正整数n,计算s的前n项的和。
s=1+1/2!
+....+1/n!
输入:
2(n=2)
10(n=10)
输出:
1.5
1.7183
publicclassTest40021{
publicstaticvoidmain(Stringargs[]){
inti,n;
floats,t;
s=0;
t=1;
t=t*i;
s=s+(float)1/t;
System.out.println((int)(s*10000+0.5)/10000.);
输入2个正整数m和n(1<
=m,n<
=1000),输出m和n之间所有满足各位数字的立方和等于它本身的数。
System.out.println(i);
100400(m=100,n=400)
1100(m=1,n=100)
153(1*1*1+5*5*5+3*3*3=153)
370(3*3*3+7*7*7=370)
371(3*3*3+7*7*7+1*1*1=371)
1
publicclassTest40022{
inti,digit,m,n,number,sum;
m=in.nextInt();
for(i=m;
=n&
=999;
sum=0;
number=i;
digit=number%10;
sum=sum+digit*digit*digit;
number=number/10;
digit=number/10;
if(sum==i)
System.out.println(i);
=500),统计并输出m和n之间的素数的个数以及这些素数的和。
110(m=1,n=10)
2035(m=20,n=35)
1416(m=14,n=16)
count=4,sum=17(1到10之间有4个素数:
2,3,5,7)
count=3,sum=83(20到35之间有3个素数:
23,29,31)
count=0,sum=0(14到16之间没有素数)
publicclassTest40023{
intcount,i,j,k,m,n,sum;
count=0;
k=1;
=499;
i++){
for(j=2;
j<
=i-1;
j++){
k=i%j;
if(k==0)break;
if(j==i){
count=count+1;
sum=sum+i;
}
count="
+count+"
sum="
+sum);
输入一行字符,统计其中单词的个数。
各单词之间用空格分隔,空格数可以是多个。
Reoldbuildingroom123
Programmingisfun
4
3
=500),统计并输出m和n之间的素数的个数以及这些素数的和(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。
要求定义并调用函数prime(m)判断m是否为素数。
3(repeat=3)
publicclassTest50005{
intcount,i,m,n,sum;
if(prime(i)){
count++;
sum=sum+i;
staticbooleanprime(intm){
inti=2;
booleanflag=true;
if(m==1)
flag=false;
for(i=2;
=m-1;
i++)
if(m%i==0)break;
if(i!
=m)
flag=false;
returnflag;
输入一个整数,从高位开始逐位输出它的各位数字。
System.out.print(digit+"
3(repeat=3)
123456
-600
8
123456
600
publicclassTest40032{
publicstaticvoidmain(String[]args){
intdigit;
longn,temp,pow;
n=in.nextLong();
n=Mat