收藏 分享(赏)

浙江大学Java语言程序设计实验答案全集29848.doc

上传人:dreamzhangning 文档编号:2234730 上传时间:2018-09-06 格式:DOC 页数:81 大小:799.90KB
下载 相关 举报
浙江大学Java语言程序设计实验答案全集29848.doc_第1页
第1页 / 共81页
浙江大学Java语言程序设计实验答案全集29848.doc_第2页
第2页 / 共81页
浙江大学Java语言程序设计实验答案全集29848.doc_第3页
第3页 / 共81页
浙江大学Java语言程序设计实验答案全集29848.doc_第4页
第4页 / 共81页
浙江大学Java语言程序设计实验答案全集29848.doc_第5页
第5页 / 共81页
点击查看更多>>
资源描述

1、 PAGE - 1 -Java 答案全集实验汇总。实验 2 数据类型和变量的使用一、程序填空,在屏幕上显示一个短句“Programming in Java is fun!”import java.io.*;public class Test10001public static void main(String args)/*-*/System.out.println(“Programming in Java is fun!“);二、程序填空,在屏幕上显示如下网格。+-+-+| | | | |+-+-+import java.io.*;public class Test10002public s

2、tatic void main(String args)/*-*/System.out.println(“+-+-+“);System.out.println(“| | |“);System.out.println(“| | |“);System.out.println(“+-+-+“);三、编写程序,在屏幕上显示如下图案。(要求:第 1 行行首无空格,每行行尾无空格)* * * * * * *public class Test10003public static void main(String args)/*-*/System.out.println(“* * * *“);System.o

3、ut.println(“ * * *“);System.out.println(“ * *“); PAGE - 1 -System.out.println(“ *“);实验 3 运算符和表达式的使用1、运行结果:m=2 k=1x=1.0 y=2.0 z=-3.0ch1=-A ch2=Ach1=-A ch2=aHello,Welcome to core Java!思考题:(1) 字符A的 Unicode 码比字符a的 Unicode 码小 32。(2) 假设字符型变量 ch 中保存一个大写字母,执行 ch+=(a-A );后,ch中是相应的小写字母。例:若 ch=B,执行后 ch=b。2、运行结

4、果:m=3 n=2. m大于n吗?truem=2 n=2. m大于n吗?falsestr1=Hello;str2=Hello!s1 和 s2 相等吗?false思考题:(1)s2 比 s1 多一个字符“!”,所以不相同。(2)s2 比 s1 多一个字符,所以 s2 比 s1 大。3、运行结果:逻辑变量b1=true 、b2=falseb1b2(异或运算) 的结果是 :trueb1!b2(b2取反后与b1异或运算)的结果是:falsen=31,m=15; m与n 的位与运算结果是 :15m、n 的位与后左移 2 位的结果:60 PAGE - 1 -思考题:(1)若给 b1 赋值 2,则程序出错。

5、因为类型不匹配:不能从 int 转换为boolean(2)n 是十六进制数,化为二进制为 0001 1111;m 是八进制数,化为二进制为 0000 1111;所以 ntemp=(m+n); n+;所以,temp=2,m=0,n=3,k=3(2)因为 3.14 是 double 类型,不能赋给 float 类型的变量 x在 3.14 后面加 F 或 f,将其转换成 float 类型,就可以赋值了(3)此时 m=1,n=3,k=3,所以(m+2*n)/k=7/3=2(4)x=(m+2*n)/(float)k=7/3.0=2.33333335、源程序如下:public class Ball pub

6、lic static void main (String args)float r=6.5f, PI=3.14f,V;V=4f/3f*PI*r*r*r;System.out.println(“球的半径为“+r);System.out.println(“球的体积为“+V);运行结果:球的半径为 6.5球的体积为 1149.7634 PAGE - 1 -实验 4 顺序结构程序的设计程序填空,不要改变与输入输出有关的语句。一、求两个数的和与差。输入整数 a 和 b,计算并输出 a、b 的和与差。例:输入2 -8输出The sum is -6The difference is 10import jav

7、a.io.*;import java.util.Scanner;public class Test20001public static void main(String args)int a, b, sum, diff;Scanner in=new Scanner(System.in);a=in.nextInt();b=in.nextInt();/*-*/sum=a+b;diff=a-b;System.out.println(“The sum is “+sum);System.out.println(“The difference is “+diff);二、求平方根。输入 1 个实数 x,计算

8、并输出其平方根。例:输入1.21输出The square root of 1.21 is 1.1import java.io.*;import java.util.Scanner;public class Test20002public static void main(String args)double x, root; PAGE - 1 -Scanner in=new Scanner(System.in);x=in.nextDouble();/*-*/root=Math.sqrt(x);System.out.println(“The square root of “+x+“ is “+r

9、oot);三、华氏温度转换为摄氏温度。输入华氏温度 f,计算并输出相应的摄氏温度 c。c = 5/9(f-32).例:括号内是说明输入17.2 (华氏温度)输出The temprature is -8.222222222222223import java.util.Scanner;public class Test20003 public static void main(String args) Scanner in=new Scanner(System.in);double f, c;f=in.nextDouble();/*-*/ c=5.0/9*(f-32); /注意:5/9结果是0Sy

10、stem.out.println(“The temprature is “+c); 四、计算旅途时间。输入 2 个整数 time1 和 time2,表示火车的出发时间和到达时间,计算并输出旅途时间。有效的时间范围是 0000 到 2359,不需要考虑出发时间晚于到达时间的情况。例:括号内是说明输入712 1411(出发时间是 7:12,到达时间是 14:11)输出The train journey time is 6 hrs 59 mins.import java.util.Scanner;public class Test20004 PAGE - 1 -public static void

11、main(String args) Scanner in=new Scanner(System.in);int time1, time2, hours, mins;time1=in.nextInt();time2=in.nextInt();/*-*/*计算两个时间之间的小时数和分钟数 */hours=time2/100-time1/100;mins=time2%100-time1%100;/*当计算得到的分钟数为负数时进行如下处理*/ hours=mins0?hours:hours-1;mins=mins0?mins:mins+60;System.out.println(“The train

12、journey time is “+hours+“ hrs “+ mins+“ mins.“); 五、数字加密。输入 1 个四位数,将其加密后输出。方法是将该数每一位上的数字加 9,然后除以 10取余,做为该位上的新数字,最后将第 1 位和第 3 位上的数字互换,第 2 位和第 4 位上的数字互换,组成加密后的新数。例:括号内是说明输入1257输出The encrypted number is 4601(每一位上的数字加 9 除以 10 取余后,得 0146,交换后得到 4601)import java.util.Scanner;public class Test20005 public st

13、atic void main(String args) Scanner in=new Scanner(System.in);int number, digit1, digit2, digit3, digit4, newnum;number=in.nextInt();/*-*/*先分离出各位上的数字 */digit1=number/1000;digit2=number/100%10; /或 digit2=(number-digit1*1000)/100; PAGE - 1 -digit3=number/10%10; /或 digit3=(number-digit1*1000-digit2*100

14、)/10;digit4=number%10;/*再调整各位上的数字 */digit1=(digit1+9)%10;digit2=(digit2+9)%10;digit3=(digit3+9)%10;digit4=(digit4+9)%10;/*最后组成加密后的新数 */newnum=digit3*1000+digit4*100+digit1*10+digit2;System.out.println(“The encrypted number is “+newnum); 六、大写字母转换成小写字母。输入一个大写英文字母,输出相应的小写字母。例:输入G输出gimport java.io.*;pub

15、lic class Test20006 public static void main(String args) throws IOException char ch;ch=(char)System.in.read();/*-*/ ch+=32; /或 ch=(char)(ch+32);System.out.println(ch); 七、计算三门课程的平均成绩。已知某位学生的数学、英语和计算机课程的成绩分别是 87 分、72 分和 93 分,求该生3 门课程的平均分。本题无输入。输出示例:math = 87, eng = 72, comp = 93average = 84 PAGE - 1 -

16、public class Test20007 public static void main(String args) int math, eng, comp, average;/*/math=87;eng=72;comp=93;average=(math+eng+comp)/3;System.out.println(“math = “+math+“, eng = “+eng+“, comp = “+comp);System.out.println(“average = “+ average);八、计算存款利息。输入存款金额 money、存期 year 和年利率 rate,根据下列公式计算存款

17、到期时的利息 interest(税前),输出时保留 2 位小数。interest = money(1+rate)year - money输入输出示例:括号内为说明输入1000 3 0.025 (money = 1000, year = 3, rate = 0.025)输出interest = 76.89import java.util.Scanner;public class Test20008 public static void main(String args) int money, year;Scanner in=new Scanner(System.in); /*使用 in.next

18、Double()和 in.nextInt()输入 double 和 int 型数据*/*/money=in.nextInt();year=in.nextInt();rate=in.nextDouble();interest=money*Math.pow(1+rate), year )- money; /注意:指数运算没有运算符,应使用数学类的方法 powSystem.out.println(“interest = “+ (int)(interest*100+0.5)/100.0); /正数保留两位小数 PAGE - 1 -九、计算两个数的和、差、积、商与余数。输入 2 个整数 num1 和 n

19、um2,计算并输出它们的和、差、积、商与余数。输入输出示例:括号内是说明输入5 3 (num1=5,num2=3)输出5+3=85-3=25*3=155/3=15%3=2import java.util.Scanner;public class Test20010public static void main(String args)int num1,num2;Scanner in=new Scanner(System.in);num1=in.nextInt();num2=in.nextInt();/*-*/System.out.println(num1+“+“+num2+“=“+(num1+

20、num2);System.out.println(num1+“-“+num2+“=“+(num1-num2);System.out.println(num1+“*“+num2+“=“+(num1*num2);System.out.println(num1+“/“+num2+“=“+(num1/num2);System.out.println(num1+“%“+num2+“=“+(num1%num2);十、计算一个 3 位数的各位数字。输入一个 3 位数 n,分别求出 n 的个位数字(c)、十位数字(b)和百位数字(a)的值。输入输出示例:输入:152输出:number152:digit1=2,

21、digit2=5,digit3=1import java.util.Scanner;public class Test20011public static void main(String args)int a,b,c,n;Scanner in=new Scanner(System.in);n=in.nextInt(); PAGE - 1 -/*-*/c=n%10;b=(n/10)%10;a=(n/100)%10;System.out.println(“number“+n+“:digit1=“+c+“,digit2=“+b+“,digit3=“+a);十一、计算 x 的平方。输入 x,计算 x

22、 的平方 y。并分别以“y=x*x“和“x*x=y“的形式输出 x 和 y 的值。输入输出示例:输入:3输出:(输出中不能出现空格)9=3*33*3=9import java.util.Scanner;import java.util.Scanner;public class Test20012 public static void main(String args)int x,y;Scanner in=new Scanner(System.in);x=in.nextInt();/*-*/y=x*x;System.out.println(y+“=“+x+“*“+x);System.out.pr

23、intln(x+“*“+x+“=“+y);实验 5 分支结构程序的设计程序填空,不要改变与输入输出有关的语句。一、显示两级成绩 输入一个正整数 repeat (0b) min=b;if(minc) min=c;if(mind) min=d; System.out.println(“min is “+min);三、求三角形的面积和周长输入一个正整数 repeat (0carea=(float)Math.sqrt(s*(s-a)*(s-b)*(s-c);perimeter=a+b+c;System.out.println(“area=“+(int)(area*100+0.5)/100.+“;per

24、imeter=“+(int)(perimeter*100+0.5)/100.);else System.out.println(“These sides do not correspond to a valid triangle“);四、判断数的符号输入整数 x,若 x 大于 0,y=1;若 x 等于 0,y=0;否则,y=-1,最后输出 y。例:括号内是说明输入3 (repeat=3) 2 -8 0输出1 (x=2 时 y=1)-1 (x=-8 时 y=-1)0 (x=0 时 y=0)import java.util.Scanner;public class Test30004public

25、static void main(String args)int ri, repeat;int x, y;Scanner in=new Scanner(System.in);repeat=in.nextInt(); PAGE - 1 -for(ri=1; ri0) y=1;else if(x=0) y=0; /注意:=是赋值运算符,=才是比较相等的运算符else y=-1; System.out.println(y); 五、计算个人所得税输入一个正整数 repeat (0=0) x1=(-b+Math.sqrt(d)/(2*a); x2=(-b-Math.sqrt(d)/(2*a); Syst

26、em.out.println(“x1=“+Math.round(x1*100)/100.0); System.out.println(“x2=“+Math.round(x2*100)/100.0); else x1=-(double)b/(2*a); x2=Math.sqrt(-d)/(2*a); System.out.println(“x1=“+Math.round(x1*100)/100.0+“+“+Math.round(x2*100)/100.0+“i“); System.out.println(“x2=“+Math.round(x1*100)/100.0+“-“+Math.round(

27、x2*100)/100.0+“i“); 说明:为防止出错,在编程前应考虑周全 当 a=b=c=0 时,方程有无数解; 当 a=b=0,c!=0 时,方程无解; 当 a=0,b!=0 时,方程解为 x=-c/b; 当 a!=0 时,求: d=b*b-4*a*c 若 d=0,有两个不同实根:x=(-bMath.sqrt(d)/(2*a) 若 d0)if(x%2!=0)sum+=x;x=in.nextInt();System.out.println(sum);7. 求最大值输入一个正整数 repeat (0max)max=x;System.out.println(max);8. 求整数的位数以及各位

28、数之和输入一个正整数 repeat (00);/* 如果使用 while语句,输入0时输出 “number=0, sum=0”,其中number的值不正确,应是 1 */System.out.println(“number=“+number+“, sum=“+sum); PAGE - 1 -实验 7 循环结构程序的设计(二)程序填空,不要改变与输入输出有关的语句。1. 求 11/2 1/31/4 输入一个正整数 repeat (0=eps)sum+=item;flag=-flag;temp+=2;item=flag*1.0/temp;System.out.println(int)(sum*10

29、000+0.5)/10000.);3. 求 2/13/25/38/5. PAGE - 1 -输入一个正整数 repeat (0repeat10),做 repeat 次下列运算:输入一个正整数 n,输出 2/1+3/2+5/3+8/5 +.的前 n 项之和,保留 4 位小数(不足 4位时,不必用 0 填满 4 位)。(该序列从第 2 项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子)例:括号内是说明输入3 (repeat=3) 1 5 20输出2.0 (第 1 项是 2.0)8.3917 (前 5 项的和是 8.3917)32.6603 (前 20 项的和是 32.6603)impo

30、rt java.util.Scanner;public class Test40011 public static void main(String args) int ri, repeat;int i,n;float a,b,s,t;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri=repeat; ri+)n=in.nextInt();/*-*/a=1; /分母b=2; /分子s=0;for(i=1;i=n;i+) s+=b/a;t=a;a=b; /分母是前一项的分子b=t+b; /分子是前一项分子与分母的和System.out.println(int)(s*10000+.5)/10000.);4. 求 aaaaaa aaa 输入一个正整数 repeat (0repeat10),做 repeat 次下列运算:输入 2 个正整数 a 和 n, 求 a+aa+aaa+aaa(n 个 a)之和。例:括号内是说明

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报