JAVA编程习题及答案完全版Word文件下载.docx
《JAVA编程习题及答案完全版Word文件下载.docx》由会员分享,可在线阅读,更多相关《JAVA编程习题及答案完全版Word文件下载.docx(94页珍藏版)》请在冰豆网上搜索。
2//表示n=2,做两次操作
1011
2030
输出:
sum=21
sum=50
importjava.util.Scanner;
publicclassTest10097{
intn,a,b,i,sum;
Scannerin=newScanner(System.in);
n=in.nextInt();
//输入n
for(i=1;
i<
=n;
i++){
/*------------*/
a=in.nextInt();
b=in.nextInt();
sum=a+b;
sum="
+sum);
5.test20001求两个数的和与差
/*程序填空,不要改变与输入输出有关的语句。
输入整数a和b,计算并输出a、b的和与差。
输入
2-8
输出
Thesumis-6
Thedifferenceis10*/
publicclassTest20001{
inta,b,sum,diff;
a=in.nextInt();
b=in.nextInt();
/*------------------*/
sum=a+b;
diff=a-b;
System.out.println("
Thesumis"
Thedifferenceis"
+diff);
6.test20002求平方根
//程序填空,不要改变与输入输出有关的语句。
输入1个实数x,计算并输出其平方根。
1.21
Thesquarerootof1.21is1.1
publicclassTest20002{
doublex,root;
x=in.nextDouble();
root=Math.sqrt(x);
Thesquarerootof"
+x+"
is"
+root);
7.test20003华氏温度转换成摄氏温度
输入华氏温度f,计算并输出相应的摄氏温度c。
c=5/9(f-32).
括号是说明
17.2(华氏温度)
Thetempratureis-8.222222222222223*/
publicclassTest20003{
publicstaticvoidmain(String[]args){
doublef,c;
f=in.nextDouble();
c=5*(f-50)/9+10;
Thetempratureis"
+c);
8.test20004计算旅途时间
程序填空,不要改变与输入输出有关的语句。
输入2个整数time1和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。
有效的时间围是0000到2359,不需要考虑出发时间晚于到达时间的情况。
7121411(出发时间是7:
10,到达时间是14:
11)
Thetrainjourneytimeis6hrs59mins.
publicclassTest20004{
inttime1,time2,hours,mins;
time1=in.nextInt();
time2=in.nextInt();
time1=(time1/100)*60+time1%100;
time2=(time2/100)*60+time2%100;
hours=(time2-time1)/60;
mins=(time2-time1)-hours*60;
Thetrainjourneytimeis"
+hours+"
hrs"
+mins+"
mins."
9.test20005数字加密
输入1个四位数,将其加密后输出。
方法是将该数每一位上的数字加9,
然后除以10取余,做为该位上的新数字,
最后将第1位和第3位上的数字互换,第2位和第4位上的数字互换,组成加密后的新数。
1257
Theencryptednumberis4601(每一位上的数字加9除以10取余后,得0146,交换后得到4601)
publicclassTest20005{
intnumber,digit1,digit2,digit3,digit4,newnum;
inttemp;
//我自己定义了一个变量
number=in.nextInt();
digit1=number/1000;
digit2=(number%1000)/100;
digit3=((number%1000)%100)/10;
digit4=number%10;
//以下是测试语句,看看我们的想法是不是正确.但是作业在提交时一定要把它注释掉
//System.out.print("
"
+digit1+"
+digit2+"
+digit3+"
+digit4);
//-----------------------------------
digit1=(digit1+9)%10;
digit2=(digit2+9)%10;
digit3=(digit3+9)%10;
digit4=(digit4+9)%10;
//---------------------------
temp=digit1;
digit1=digit3;
digit3=temp;
//----------------------------
temp=digit2;
digit2=digit4;
digit4=temp;
//----------------------------------
newnum=digit1*1000+digit2*100+digit3*10+digit4;
Theencryptednumberis"
+newnum);
10.test20006大小写字母转换
输入一个大写英文字母,输出相应的小写字母。
G
g
publicclassT20006{
publicstaticvoidmain(String[]args)throwsIOException
{
charch;
ch=(char)System.in.read();
ch=(char)(ch+32);
//以ASCII码计算
System.out.println(ch);
11.Test20007计算三门课程的平均成绩
已知某位学生的数学、英语和计算机课程的成绩分别是87分、72分和93分,求该生3门课程的平均分。
本题无输入。
输出示例:
math=87,eng=72,comp=93
average=84
publicclasstest20007{
intmath,eng,comp,average;
/**********/
math=87;
eng=72;
comp=93;
average=(math+eng+comp)/3;
math="
+math+"
eng="
+eng+"
comp="
+comp);
average="
+average);
12.test20008计算存款利息
输入存款金额money、存期year和年利率rate,
根据下列公式计算存款到期时的利息interest(税前),输出时保留2位小数。
interest=money(1+rate)^year-money
输入输出示例:
括号为说明
100030.025(money=1000,year=3,rate=0.025)
interest=76.89
publicclasstest20008{
intmoney,year;
doubleinterest,rate;
/*使用in.nextDouble()和in.nextInt()输入double和int型数据*/
money=in.nextInt();
year=in.nextInt();
rate=in.nextDouble();
interest=money*Math.pow((1+rate),year)-money;
interest="
+(int)(interest*100+0.5)/100.0);
13.test30001显示两级成绩
输入一个正整数repeat(0<
repeat<
10),做repeat次下列运算:
输入一个学生的数学成绩,如果它低于60,输出“Fail”,否则,输出“Pass”。
输出使用System.out.println("
Pass"
及System.out.println("
Fail"
2(repeat=2)
6059
Pass
Fail
publicclassTest30001{
publicstaticvoidmain(String[]args){
intri,repeat;
intmark;
repeat=in.nextInt();
for(ri=1;
ri<
=repeat;
ri++){
mark=in.nextInt();
if(mark>
=60)
else
14.test30002找最小值
输入四个整数,输出其中的最小值。
3(repeat=3)
126190
10403020
-1-3-4-5
minis1(126190中的最小值是1)
minis10(10403020中的最小值是10)
minis-5(-1-3-4-5中的最小值是-5)
publicclassTest30002{
inta,b,c,d,min;
c=in.nextInt();
d=in.nextInt();
/*------------------*/
min=a;
if(min>
b)min=b;
c)min=c;
d)min=d;
minis"
+min);
15.test30003求三角形的面积和周长
输入三角形的三条边a,b,c,如果能构成一个三角形,输出面积area和周长perimeter;
否则,输出“Thesesidesdonotcorrespondtoavalidtriangle”。
在一个三角形中,任意两边之和大于第三边。
三角形的面积计算公式:
aere*area=s(s-a)(s-b)(s-c)
其中:
s=(a+b+c)/2
输出代码:
System.out.println("
area="
+area+"
;
perimeter="
+perimeter);
Thesesidesdonotcorrespondtoavalidtriangle"
553
114
area=7.154544;
perimeter=13.0
Thesesidesdonotcorrespondtoavalidtriangle
publicclassTest30003{
floata,b,c,area,perimeter,s;
a=in.nextFloat();
b=in.nextFloat();
c=in.nextFloat();
if(a+b>
c&
&
a+c>
b&
b+c>
a)
perimeter=a+b+c;
s=(a+b+c)/2.0f;
area=(float)Math.sqrt(s*(s-a)*(s-b)*(s-c));
16.test30004判断数的符号
/*输入一个正整数repeat(0<
输入整数x,若x大于0,y=1;
若x等于0,y=0;
否则,y=-1,最后输出y。
2-80
1(x=2时y=1)
-1(x=-8时y=-1)
0(x=0时y=0)
publicclassTest30004{
intx,y=0;
x=in.nextInt();
if(x>
0)
y=1;
elseif(x==0)
y=0;
elseif(x<
y=-1;
System.out.println(y);
17.test30005计算个人所得税
输入一个职工的月薪salary,输出应交的个人所得税tax。
tax=rate*(salary-850)
当salary<
=850时,rate=0%;
当850<
salary<
=1350时,rate=5%;
当1350<
=2850时,rate=10%;
当2850<
=5850时,rate=15%;
当5850<
salary时,rate=20%;
5(repeat=5)
1010.87
32098.76
800
4010
2850
tax=8.04
tax=6249.75
tax=0.0
tax=474.0
tax=200.0
publicclassTest30005{
floatrate,salary,tax;
salary=in.nextFloat();
if(salary<
=850)
tax=0;
elseif(salary<
=1350)
{rate=0.05f;
tax=rate*(salary-850);
=2850)
rate=0.10f;
elseif(salary<
=5850)
rate=0.15f;
rate=0.20f;
tax="
+(int)(tax*100+0.5)/100.0);