ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:24.07KB ,
资源ID:4359698      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4359698.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(浙江大学Java语言程序设计实验答案全集.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、浙江大学Java语言程序设计实验答案全集Java答案全集实验汇总。实验2 数据类型和变量的使用一、程序填空,在屏幕上显示一个短句“Programming in Java is fun!”import .*;public class Test10001 public static void main(String args) /*-*/Programming in Java is fun!); 二、程序填空,在屏幕上显示如下网格。+-+-+| | | | |+-+-+import .*;public class Test10002 public static void main(String a

2、rgs) /*-*/ +-+-+); | | |); | | |); +-+-+); 三、编写程序,在屏幕上显示如下图案。(要求:第1行行首无空格,每行行尾无空格)* * * * * * * * * *public class Test10003 public static void main(String args) /*-*/ * * * *); * * *); * *); *); 实验3 运算符和表达式的使用1、运行结果:m=2 k=1x= y= z=ch1=-A ch2=Ach1=-A ch2=aHello,Welcome to core Java!思考题:(1) 字符A的Unicod

3、e码比字符a的Unicode码小32。(2) 假设字符型变量ch中保存一个大写字母,执行ch+=(a-A );后,ch中是相应的小写字母。例:若ch=B,执行后ch=b。2、运行结果:m=3 n=2. m大于n吗?truem=2 n=2. m大于n吗?false str1=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

4、=15; m与n的位与运算结果是:15m、n的位与后左移2位的结果:60思考题:(1)若给b1赋值2,则程序出错。因为类型不匹配:不能从int转换为boolean(2)n是十六进制数,化为二进制为0001 1111;m是八进制数,化为二进制为0000 1111;所以n&m为0000 1111(二进制),就是十进制数15。(3)120(4)左移运算就是乘法运算,左移n位就相当于乘以2n4、运行结果:(m+nk)?(m+):(-m+n+)的运算结果:2float型变量强制转换为int型的结果是:3int型变量运算:(m+2*n)/k的结果是:2(m+2*n)/k的结果赋值给float型变量后x=思

5、考题:(1)因为temp=(-m+n+),等价于依次执行以下命令:-m;temp=(m+n); n+;所以,temp=2,m=0,n=3,k=3(2)因为是double类型,不能赋给float类型的变量x在后面加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/=5、源程序如下:public class Ball public static void main (String args) float r=, PI=,V; V=4f/3f*PI*r*r*r; 球的半径为+r); 球的体

6、积为+V); 运行结果:球的半径为球的体积为实验4 顺序结构程序的设计程序填空,不要改变与输入输出有关的语句。一、求两个数的和与差。输入整数a和b,计算并输出a、b的和与差。例:输入2 -8输出The sum is -6The difference is 10import .*;import class Test20001 public static void main(String args) int a, b, sum, diff; Scanner in=new Scanner; a=(); b=(); /*-*/ sum=a+b; diff=a-b; The sum is +sum);

7、The difference is +diff); 二、求平方根。输入1个实数x,计算并输出其平方根。例:输入输出The square root of is import .*;import class Test20002 public static void main(String args) double x, root; Scanner in=new Scanner; x=(); /*-*/ root=(x); The square root of +x+ is +root); 三、华氏温度转换为摄氏温度。输入华氏温度f,计算并输出相应的摄氏温度c。c = 5/9(f-32).例:括号内

8、是说明输入 (华氏温度)输出The temprature is import class Test20003 public static void main(String args) Scanner in=new Scanner; double f, c; f=(); /*-*/ c=9*(f-32); import class Test20004 public static void main(String args) Scanner in=new Scanner; int time1, time2, hours, mins; time1=(); time2=(); /*-*/ /*计算两个

9、时间之间的小时数和分钟数*/ hours=time2/100-time1/100; mins=time2%100-time1%100; /*当计算得到的分钟数为负数时进行如下处理*/ hours=mins0?hours:hours-1; mins=mins0?mins:mins+60; The train journey time is +hours+ hrs + mins+ mins.); 五、数字加密。输入1个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10取余,做为该位上的新数字,最后将第1位和第3位上的数字互换,第2位和第4位上的数字互换,组成加密后的新数。例:括号

10、内是说明输入1257输出The encrypted number is 4601(每一位上的数字加9除以10取余后,得0146,交换后得到4601)import class Test20005 public static void main(String args) Scanner in=new Scanner; int number, digit1, digit2, digit3, digit4, newnum; number=(); /*-*/ /*先分离出各位上的数字*/ digit1=number/1000; digit2=number/100%10; ;public class Te

11、st20006 public static void main(String args) throws IOException char ch; ch=(char) /*-*/ ch+=32; ;perimeter=+(int)(perimeter*100+/100.);These sides do not correspond to a valid triangle); 例:括号内是说明输入2 (repeat=2) 5 5 31 1 4输出area=;perimeter=These sides do not correspond to a valid triangleimport class

12、 Test30003 public static void main(String args) int ri, repeat; float a, b, c, area, perimeter, s; Scanner in=new Scanner; repeat=(); for(ri=1; ric&a+cb&b+ca) ;perimeter=+(int)(perimeter*100+/100.); else These sides do not correspond to a valid triangle); 四、判断数的符号输入整数x,若x大于0,y=1;若x等于0,y=0;否则,y=-1,最后

13、输出y。例:括号内是说明输入3 (repeat=3) 2 -8 0输出1 (x=2时y=1)-1 (x=-8时y=-1)0 (x=0时y=0)import class Test30004 public static void main(String args) int ri, repeat; int x, y; Scanner in=new Scanner; repeat=(); for(ri=1; ri0) y=1; else if(x=0) y=0; ;public class Test30007 public static void main(String args)throws IOE

14、xception char ch; ch=(char) while(ch!=?) /*-*/ if(A=ch&ch=Z) ch+=32; else if(a=ch&ch=z) f(+x+)=+y); 说明:对正数y保留两位小数的表达式(int)(y*100+/ 或 (x)*100)/九、显示五级记分制成绩对应的百分制区间输入一个正整数 repeat (0repeat10),做 repeat 次下列运算:输入五级制成绩(AE),输出相应的百分制成绩(0100)区间,要求使用switch语句。五级制成绩对应的百分制成绩区间为:A(90-100)、B(80-89)、C(70-79)、D(60-69)

15、和E(0-59),如果输入不正确的成绩,显示Invalid input。输入输出示例:括号内是说明输入6A B C D E j (repeat=6,输入的五级成绩分别为A、B、C、D、E和无效的字符j) 输出90-10080-8970-7960-690-59Invalid inputimport class Test30010 public static void main(String args) int repeat, ri; char ch; Scanner in=new Scanner; repeat=(); for(ri = 1; ri = repeat; ri+) ch=().ch

16、arAt(0); /*输入1个字符*/ /*-*/ switch(ch) case A:90-100);break; case B:80-89);break; case C:70-79);break; case D:60-69);break; case E:0-59);break; default: Invalid input); 实验6 循环结构程序的设计(一)程序填空,不要改变与输入输出有关的语句。1. 求11/21/31/n 输入一个正整数repeat (0repeat10),做repeat次下列运算:读入1 个正整数 n(n=100),计算并输出11/21/31/n 。例:括号内是说明

17、输入2 (repeat=1)210输出 import class Test40001 public static void main(String args) int ri, repeat; int i, n; float sum; Scanner in=new Scanner; repeat=(); for(ri=1; ri=repeat; ri+) n=(); /*-*/1. sum=0;. 输入一个正整数repeat (0repeat10),做repeat次下列运算:输入一个正整数n,输出 2/1+3/2+5/3+8/5 +.的前n项之和,保留4位小数(不足4位时,不必用0填满4位)。(

18、该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子)例:括号内是说明输入3 (repeat=3) 1 5 20输出 (第1项是 (前5项的和是 (前20项的和是import class Test40011 public static void main(String args) int ri, repeat; int i,n; float a,b,s,t; Scanner in=new Scanner; repeat=(); for(ri=1; ri=repeat; ri+) n=(); /*-*/ a=1; ;public class Test40014 public

19、static void main(String args) Scanner in=new Scanner; int gcd, lcm, m, n,r; int repeat, ri; repeat=(); for(ri=1; ri=repeat; ri+) m=(); n=(); if(m= 0|n= 0) m = 0 or n = 0); else /*-*/ lcm=m*n; if(mn)r=m;m=n;n=r; r=m%n; while(r!=0) m=n; n=r; r=m%n; gcd=n; lcm=lcm/gcd; the least common multiple:+lcm +,

20、 the greatest common divisor:+gcd); 2. 求1 + 1/2! +.+ 1/n! 输入一个正整数repeat (0repeat10),做repeat次下列运算:输入1 个正整数n,计算 s 的前n项的和。 s = 1 + 1/2! +.+ 1/n! 例:括号内是说明输入:2 (repeat=2)2 (n=2)10 (n=10)输出:import class Test40021 public static void main(String args) int ri, repeat; int i,n; float s,t; Scanner in=new Scann

21、er; repeat=(); for(ri=1; ri=repeat; ri+) n=(); /*-*/ s=0; t=1; for(i=1;i=n;i+) t*=i;1. s+=1/t; .+ 1/n!输入一个正整数repeat (0repeat10),做repeat次下列运算:输入1 个正整数n,计算 s 的前n项的和(保留 4 位小数)。 s = 1 + 1/2! +.+ 1/n! 要求定义并调用函数fact(n)计算n的阶乘。例:括号内是说明输入:2 (repeat=2)2 (n=2)10 (n=10)输出:public class Test50001 public static vo

22、id main(String args) int ri,repeat; int i,n; double s; Scanner in=new Scanner; repeat=(); for(ri=1;ri=repeat;ri+) n=(); /*-*/ s=0; for(i=1;i=n;i+) s+=fact(i); /*-*/ static double fact(int n) int i; double f=1; for(i=1;i=n;i+) f*=i; return f; /* 方法fact(n)也可以用以下递归算法设计 static double fact(int n) if(n=1)

23、 return 1; else return n*fact(n-1); */2. 求aaaaaaaaa输入一个正整数repeat (0repeat10),做repeat次下列运算:输入2个正整数a和n, 求a+aa+aaa+aaa(n个a)之和。要求定义并调用函数fn(a,n),它的功能是返回aaa(n个a)。例如,fn(3,2)的返回值是33。例:括号内是说明输入2 (repeat=2)2 3 (a=2, n=3)8 5 (a=8, n=5)输出246 (2+22+222)98760 (8+88+888+8888+88888) import class Test50002 public st

24、atic void main(String args) int ri, repeat; int i, n,a; long sn; Scanner in=new Scanner; repeat=(); for(ri=1; ri=repeat; ri+) a=(); n=(); /*-*/ sn=0; for(i=1;i=n;i+) sn+=fn(a,i); /*-*/ static int fn(int a,int n) int s=0; for(int i=1;i=n;i+) s=s*10+a; return s; /* 方法fn()也可以用以下递归算法设计 static int fn(int

25、 a,int n) if (n=1) return a; else return fn(a,n-1)*10+a; */3. 统计一个整数中数字的个数输入一个正整数repeat (0repeat10),做repeat次下列运算:读入1 个整数,统计并输出该数中2的个数。要求定义并调用函数countdigit(number,digit),它的功能是统计整数number中数字digit的个数。例如,countdigit(10090,0)的返回值是3。例:括号内是说明输入:3 (repeat=3)-219022345543输出:count=2 (-21902中有2个2)count=1 (有1个2)co

26、unt=0 (345543中没有2)import class Test50003 public static void main(String args) int ri, repeat; int count; long n; Scanner in=new Scanner; repeat=(); for(ri=1; ri=repeat; ri+) n=(); /*-*/ n=(n); count=countdigit(n,2); count=+count); /*-*/static int countdigit(long number,int digit) .要求定义并调用函数fib(n),它的功能是返回第n项Fibonacci数。例如,fib(7)的返回值是13。输出语句: );例:括号内是说明输入:3 (repeat=3)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1