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

上传人:b****7 文档编号:22058099 上传时间:2023-02-02 格式:DOCX 页数:117 大小:45.24KB
下载 相关 举报
浙江大学Java语言程序设计实验答案全集文档格式.docx_第1页
第1页 / 共117页
浙江大学Java语言程序设计实验答案全集文档格式.docx_第2页
第2页 / 共117页
浙江大学Java语言程序设计实验答案全集文档格式.docx_第3页
第3页 / 共117页
浙江大学Java语言程序设计实验答案全集文档格式.docx_第4页
第4页 / 共117页
浙江大学Java语言程序设计实验答案全集文档格式.docx_第5页
第5页 / 共117页
点击查看更多>>
下载资源
资源描述

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

《浙江大学Java语言程序设计实验答案全集文档格式.docx》由会员分享,可在线阅读,更多相关《浙江大学Java语言程序设计实验答案全集文档格式.docx(117页珍藏版)》请在冰豆网上搜索。

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

运行结果:

m=2k=1

x=1.0y=2.0z=-3.0

ch1=-Ach2=A

ch1=-Ach2=a

Hello,WelcometocoreJava!

思考题:

(1)字符'

A'

的Unicode码比字符'

a'

的Unicode码小32。

(2)假设字符型变量ch中保存一个大写字母,执行ch+=('

-'

);

后,ch中是相应的小写字母。

例:

若ch='

B'

,执行后ch='

b'

2、

m=3n=2.m大于n吗?

true

m=2n=2.m大于n吗?

false

str1=Hello;

str2=Hello!

s1和s2相等吗?

(1)s2比s1多一个字符“!

”,所以不相同。

(2)s2比s1多一个字符,所以s2比s1大。

3、

逻辑变量b1=true、b2=false

b1^b2(异或运算)的结果是:

b1^!

b2(b2取反后与b1异或运算)的结果是:

n=31,m=15;

m与n的位与运算结果是:

15

m、n的位与后左移2位的结果:

60

(1)若给b1赋值2,则程序出错。

因为类型不匹配:

不能从int转换为boolean

(2)n是十六进制数,化为二进制为00011111;

m是八进制数,化为二进制为00001111;

所以n&

m为00001111(二进制),就是十进制数15。

(3)120

(4)左移运算就是乘法运算,左移n位就相当于乘以2^n

4、

(m+n>

k)?

(m++):

(--m+n++)的运算结果:

2

float型变量强制转换为int型的结果是:

3

int型变量运算:

(m+2*n)/k的结果是:

(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.3333333

5、

源程序如下:

publicclassBall{

publicstaticvoidmain(String[]args){

floatr=6.5f,PI=3.14f,V;

V=4f/3f*PI*r*r*r;

球的半径为"

+r);

球的体积为"

+V);

球的半径为6.5

球的体积为1149.7634

实验4顺序结构程序的设计

程序填空,不要改变与输入输出有关的语句。

一、求两个数的和与差。

输入整数a和b,计算并输出a、b的和与差。

输入

2-8

输出

Thesumis-6

Thedifferenceis10

importjava.util.Scanner;

publicclassTest20001{

inta,b,sum,diff;

Scannerin=newScanner(System.in);

a=in.nextInt();

b=in.nextInt();

/*------------------*/

sum=a+b;

diff=a-b;

Thesumis"

+sum);

Thedifferenceis"

+diff);

二、求平方根。

输入1个实数x,计算并输出其平方根。

1.21

Thesquarerootof1.21is1.1

publicclassTest20002{

doublex,root;

x=in.nextDouble();

root=Math.sqrt(x);

Thesquarerootof"

+x+"

is"

+root);

三、华氏温度转换为摄氏温度。

输入华氏温度f,计算并输出相应的摄氏温度c。

c=5/9(f-32).

括号内是说明

17.2(华氏温度)

Thetempratureis-8.222222222222223

publicclassTest20003{

publicstaticvoidmain(String[]args){

doublef,c;

f=in.nextDouble();

/*------------------*/

c=5.0/9*(f-32);

//注意:

5/9结果是0

Thetempratureis"

+c);

四、计算旅途时间。

输入2个整数time1和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。

有效的时间范围是0000到2359,不需要考虑出发时间晚于到达时间的情况。

7121411(出发时间是7:

12,到达时间是14:

11)

Thetrainjourneytimeis6hrs59mins.

publicclassTest20004{

inttime1,time2,hours,mins;

time1=in.nextInt();

time2=in.nextInt();

/*计算两个时间之间的小时数和分钟数*/

hours=time2/100-time1/100;

mins=time2%100-time1%100;

/*当计算得到的分钟数为负数时进行如下处理*/

hours=mins>

0?

hours:

hours-1;

mins=mins>

mins:

mins+60;

Thetrainjourneytimeis"

+hours+"

hrs"

+mins+"

mins."

五、数字加密。

输入1个四位数,将其加密后输出。

方法是将该数每一位上的数字加9,然后除以10取余,做为该位上的新数字,最后将第1位和第3位上的数字互换,第2位和第4位上的数字互换,组成加密后的新数。

1257

Theencryptednumberis4601(每一位上的数字加9除以10取余后,得0146,交换后得到4601)

publicclassTest20005{

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;

Theencryptednumberis"

+newnum);

六、大写字母转换成小写字母。

输入一个大写英文字母,输出相应的小写字母。

G

g

publicclassTest20006{

publicstaticvoidmain(String[]args)throwsIOException{

charch;

ch=(char)System.in.read();

ch+=32;

//或 ch=(char)(ch+32);

System.out.println(ch);

七、计算三门课程的平均成绩。

已知某位学生的数学、英语和计算机课程的成绩分别是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);

八、计算存款利息。

输入存款金额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;

//注意:

指数运算没有运算符,应使用数学类的方法pow

interest="

+(int)(interest*100+0.5)/100.0);

//正数保留两位小数

九、计算两个数的和、差、积、商与余数。

输入2个整数num1和num2,计算并输出它们的和、差、积、商与余数。

53(num1=5,num2=3)

5+3=8

5-3=2

5*3=15

5/3=1

5%3=2

publicclassTest20010{

intnum1,num2;

Scannerin=newScanner(System.in);

num1=in.nextInt();

num2=in.nextInt();

/*------------------------*/

System.out.println(num1+"

+"

+num2+"

="

+(num1+num2));

-"

+(num1-num2));

*"

+(num1*num2));

/"

+(num1/num2));

%"

+(num1%num2));

十、计算一个3位数的各位数字。

输入一个3位数n,分别求出n的个位数字(c)、十位数字(b)和百位数字(a)的值。

输入:

152

输出:

number152:

digit1=2,digit2=5,digit3=1

publicclassTest20011{

inta,b,c,n;

n=in.nextInt();

c=n%10;

b=(n/10)%10;

a=(n/100)%10;

number"

+n+"

:

digit1="

+c+"

digit2="

+b+"

digit3="

+a);

十一、计算x的平方。

输入x,计算x的平方y。

并分别以"

y=x*x"

和"

x*x=y"

的形式输出x和y的值。

(输出中不能出现空格)

9=3*3

3*3=9

publicclassTest20012{

publicstaticvoidmain(String[]args){

intx,y;

x=in.nextInt();

/*--------------*/

y=x*x;

System.out.println(y+"

+x);

System.out.println(x+"

+y);

实验5分支结构程序的设计

一、显示两级成绩

输入一个正整数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

二、找最小值

输入四个整数,输出其中的最小值。

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);

三、求三角形的面积和周长

输入三角形的三条边a,b,c,如果能构成一个三角形,输出面积area和周长perimeter;

否则,输出“Thesesidesdonotcorrespondtoavalidtriangle”。

在一个三角形中,任意两边之和大于第三边。

三角形的面积计算公式:

area*area=s(s-a)(s-b)(s-c)

其中:

s=(a+b+c)/2

输出代码:

area="

+(int)(area*100+0.5)/100.+"

;

perimeter="

+(int)(perimeter*100+0.5)/100.);

Thesesidesdonotcorrespondtoavalidtriangle"

553

114

area=7.15;

perimeter=13.0

Thesesidesdonotcorrespondtoavalidtriangle

publicclassTest30003{

floata,b,c,area,perimeter,s;

fo

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

当前位置:首页 > 人文社科 > 哲学历史

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

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