最新高等教育Java语言程序设计实验答案全集 精品Word文件下载.docx
《最新高等教育Java语言程序设计实验答案全集 精品Word文件下载.docx》由会员分享,可在线阅读,更多相关《最新高等教育Java语言程序设计实验答案全集 精品Word文件下载.docx(99页珍藏版)》请在冰豆网上搜索。
System.out.println("
|||"
三、编写程序,在屏幕上显示如下图案。
(要求:
第1行行首无空格,每行行尾无空格)
****
***
**
*
publicclassTest10003{
****"
***"
**"
*"
实验3运算符和表达式的使用
1、
运行结果:
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);