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

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Java答案全集实验汇总。实验2数据类型和变量的使用一、程序填空,在屏幕上显示一个短句“ProgramminginJavaisfun!”importjava.io.*;publicclassTest10001{publicstaticvoidmain(Stringargs[]){/*------------------------*/}}二、程序填空,在屏幕上显示如下网格。+---+---+||||||+---+---+importjava.io.*;publicclassTest10002{publicstaticvoidmain(Stringargs[]){/*------------------------*/}}三、编写程序,在屏幕上显示如下图案。(要求:第1行行首无空格,每行行尾无空格)**********publicclassTest10003{publicstaticvoidmain(Stringargs[]){/*------------------------*/}}实验3运算符和表达式的使用1、运行结果:m=2k=1x=1.0y=2.0z=-3.0ch1=-Ach2=Ach1=-Ach2=aHello,WelcometocoreJava!思考题:(1)字符'A'的Unicode码比字符'a'的Unicode码小32。(2)假设字符型变量ch中保存一个大写字母,执行ch+=('a'-'A');后,ch中是相应的小写字母。例:若ch='B',执行后ch='b'。2、运行结果:m=3n=2.m大于n吗?truem=2n=2.m大于n吗?falsestr1=Hello;str2=Hello!s1和s2相等吗?false思考题:(1)s2比s1多一个字符“!”,所以不相同。(2)s2比s1多一个字符,所以s2比s1大。3、运行结果:逻辑变量b1=true、b2=falseb1^b2(异或运算)的结果是:trueb1^!b2(b2取反后与b1异或运算)的结果是:falsen=31,m=15;m与n的位与运算结果是:15m、n的位与后左移2位的结果:60思考题:(1)若给b1赋值2,则程序出错。因为类型不匹配:不能从int转换为boolean(2)n是十六进制数,化为二进制为00011111;m是八进制数,化为二进制为00001111;所以n&m为00001111(二进制),就是十进制数15。(3)120(4)左移运算就是乘法运算,左移n位就相当于乘以2^n4、运行结果:(m+nk)?(m++):(--m+n++)的运算结果:2float型变量强制转换为int型的结果是:3int型变量运算:(m+2*n)/k的结果是:2(m+2*n)/k的结果赋值给float型变量后x=2.0思考题:(1)因为temp=(--m+n++),等价于依次执行以下命令:--m;temp=(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、源程序如下:publicclassBall{publicstaticvoidmain(String[]args){floatr=6.5f,PI=3.14f,V;V=4f/3f*PI*r*r*r;}}运行结果:球的半径为6.5球的体积为1149.7634实验4顺序结构程序的设计程序填空,不要改变与输入输出有关的语句。一、求两个数的和与差。输入整数a和b,计算并输出a、b的和与差。例:输入2-8输出Thesumis-6Thedifferenceis10importjava.io.*;publicclassTest20001{publicstaticvoidmain(Stringargs[]){inta,b,sum,diff;Scannerin=newScanner(System.in);a=in.nextInt();b=in.nextInt();/*------------------*/sum=a+b;diff=a-b;}}二、求平方根。输入1个实数x,计算并输出其平方根。例:输入1.21输出Thesquarerootof1.21is1.1importjava.io.*;publicclassTest20002{publicstaticvoidmain(Stringargs[]){doublex,root;Scannerin=newScanner(System.in);x=in.nextDouble();/*------------------*/root=Math.sqrt(x);}}三、华氏温度转换为摄氏温度。输入华氏温度f,计算并输出相应的摄氏温度c。c=5/9(f-32).例:括号内是说明输入17.2(华氏温度)输出publicclassTest20003{publicstaticvoidmain(String[]args){Scannerin=newScanner(System.in);doublef,c;f=in.nextDouble();/*------------------*/c=5.0/9*(f-32);//注意:5/9结果是0}}四、计算旅途时间。输入2个整数time1和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。有效的时间范围是0000到2359,不需要考虑出发时间晚于到达时间的情况。例:括号内是说明输入7121411(出发时间是7:12,到达时间是14:11)输出Thetrainjourneytimeis6hrs59mins.publicclassTest20004{publicstaticvoidmain(String[]args){Scannerin=newScanner(System.in);inttime1,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;}}五、数字加密。输入1个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10取余,做为该位上的新数字,最后将第1位和第3位上的数字互换,第2位和第4位上的数字互换,组成加密后的新数。例:括号内是说明输入1257输出Theencryptednumberis4601(每一位上的数字加9除以10取余后,得0146,交换后得到4601)publicclassTest20005{publicstaticvoidmain(String[]args){Scannerin=newScanner(System.in);intnumber,digit1,digit2,digit3,digit4,newnum;number=in.nextInt();/*------------------*//*先分离出各位上的数字*/digit1=number/1000;digit2=number/100%10;//或digit2=(number-digit1*1000)/100;digit3=number/10%10;//或digit3=(number-digit1*1000-digit2*100)/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;}}六、大写字母转换成小写字母。输入一个大写英文字母,输出相应的小写字母。例:输入G输出gimportjava.io.*;publicclassTest20006{publicstaticvoidmain(String[]args)throwsIOException{charch;/*------------------*/ch+=32;//或ch=(char)(ch+32);}}七、计算三门课程的平均成绩。已知某位学生的数学、英语和计算机课程的成绩分别是87分、72分和93分,求该生3门课程的平均分。本题无输入。输出示例:math=87,eng=72,comp=93average=84publicclassTest20007{publicstaticvoidmain(String[]args){intmath,eng,comp,average;/**********/math=87;eng=72;comp=93;average=(math+eng+comp)/3;}}八、计算存款利息。输入存款金额money、存期year和年利率rate,根据下列公式计算存款到期时的利息interest(税前),输出时保留2位小数。interest=money(1+rate)^year-money输入输出示例:括号内为说明输入100030.025(money=1000,year=3,rate=0.025)输出interest=76.89publicclassTest20008{publicstaticvoidmain(String[]args){intmoney,year;doubleinterest,rate;Scannerin=newScanner(System.in);/*使用in.nextDouble()和in.nextInt()输入double和int型数据*//**********/money=in.nextInt();year=in.nextInt();rate=in.nextDouble();interest=money*Math.pow((1+rate),year)-money;//注意:指数运算没有运算符,应使用数学类的方法pow(int)(interest*100+0.5)/100.0);//正数保留两位小数}}九、计算两个数的和、差、积、商与余数。输入2个整数num1和num2,计算并输出它们的和、差、积、商与余数。输入输出示例:括号内是说明输入53(num1=5,num2=3)输出5+3=85-3=25*3=155/3=15%3=2publicclassTest20010{publicstaticvoidmain(Stringargs[]){intnum1,num2;Scannerin=newScanner(System.in);num1=in.nextInt();num2=in.nextInt();/*------------------------*/}}十、计算一个3位数的各位数字。输入一个3位数n,分别求出n的个位数字(c)、十位数字(b)和百位数字(a)的值。输入输出示例:输入:152输出:number152:digit1=2,digit2=5,digit3=1publicclassTest20011{publicstaticvoidmain(Stringargs[]){inta,b,c,n;Scannerin=newScanner(System.in);n=in.nextInt();/*------------------------*/c=n%10;b=(n/10)%10;a=(n/100)%10;}}十一、计算x的平方。输入x,计算x的平方y。并分别以y=x*x和

1 / 64
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功