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+=(- );后,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相等吗?(1)s2比s1多一个字符“!”,所以不相同。(2)s2比s1多一个字符,所以s2比s1
2、大。3、逻辑变量b1=true、b2=falseb1b2(异或运算)的结果是:b1!b2(b2取反后与b1异或运算)的结果是:n=31,m=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型变量强制转换为i
3、nt型的结果是:3int型变量运算:(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.33333335、源程序如下:public class Ball public st
4、atic void main (String args) float r=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输出The sum is -6The difference is 10import java.util.Scanner;public class Test20001 int a, b, sum, diff; Scanner in=ne
5、w Scanner(System.in); a=in.nextInt(); b=in.nextInt(); /*-*/ sum=a+b; diff=a-b;The sum is +sum);The difference is +diff);二、求平方根。输入1个实数x,计算并输出其平方根。1.21The square root of 1.21 is 1.1public class Test20002 double x, root; x=in.nextDouble(); root=Math.sqrt(x);The square root of +x+ is +root);三、华氏温度转换为摄氏温
6、度。输入华氏温度f,计算并输出相应的摄氏温度c。c = 5/9(f-32).括号内是说明17.2 (华氏温度)The temprature is -8.222222222222223public class Test20003 public static void main(String args) double f, c; f=in.nextDouble(); /*-*/ c=5.0/9*(f-32); /注意:5/9结果是0The temprature is +c);四、计算旅途时间。输入2个整数time1和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。有效的时间范围是00
7、00到2359,不需要考虑出发时间晚于到达时间的情况。712 1411(出发时间是7:12,到达时间是14:11)The train journey time is 6 hrs 59 mins.public class Test20004 int time1, time2, hours, mins; time1=in.nextInt(); time2=in.nextInt(); /*计算两个时间之间的小时数和分钟数*/ hours=time2/100-time1/100; mins=time2%100-time1%100; /*当计算得到的分钟数为负数时进行如下处理*/ hours=mins0
8、?hours:hours-1; mins=minsmins:mins+60;The train journey time is +hours+ hrs + mins+ mins.五、数字加密。输入1个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10取余,做为该位上的新数字,最后将第1位和第3位上的数字互换,第2位和第4位上的数字互换,组成加密后的新数。1257The encrypted number is 4601(每一位上的数字加9除以10取余后,得0146,交换后得到4601)public class Test20005 int number, digit1, digi
9、t2, 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+
10、9)%10; digit4=(digit4+9)%10; /*最后组成加密后的新数*/ newnum=digit3*1000+digit4*100+digit1*10+digit2;The encrypted number is +newnum);六、大写字母转换成小写字母。输入一个大写英文字母,输出相应的小写字母。Ggpublic class Test20006 public static void main(String args) throws IOException char ch; ch=(char)System.in.read(); ch+=32; /或ch=(char)(ch+3
11、2); System.out.println(ch);七、计算三门课程的平均成绩。已知某位学生的数学、英语和计算机课程的成绩分别是87分、72分和93分,求该生3门课程的平均分。本题无输入。输出示例:math = 87, eng = 72, comp = 93average = 84public class Test20007 int math, eng, comp, average; /*/ math=87; eng=72; comp=93; average=(math+eng+comp)/3;math = +math+, eng = +eng+, comp = +comp);average
12、 = + average);八、计算存款利息。输入存款金额 money、存期 year 和年利率 rate,根据下列公式计算存款到期时的利息 interest(税前),输出时保留2位小数。interest = money(1+rate)year - money输入输出示例:括号内为说明1000 3 0.025 (money = 1000, year = 3, rate = 0.025)interest = 76.89public class Test20008 int money, year; double interest, rate; /*使用in.nextDouble()和in.next
13、Int()输入double和int型数据*/ money=in.nextInt(); year=in.nextInt(); rate=in.nextDouble(); interest=money*Math.pow(1+rate), year )- money; /注意:指数运算没有运算符,应使用数学类的方法powinterest = + (int)(interest*100+0.5)/100.0); /正数保留两位小数九、计算两个数的和、差、积、商与余数。输入2个整数 num1 和 num2,计算并输出它们的和、差、积、商与余数。5 3 (num1=5,num2=3)5+3=85-3=25*
14、3=155/3=15%3=2public class Test20010 int num1,num2; Scanner in=new Scanner(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输出:num
15、ber152:digit1=2,digit2=5,digit3=1public class Test20011 int a,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*33*3=9public class Test20012 public static void main(String args) int x
16、,y; x=in.nextInt(); /*-*/ y=x*x; System.out.println(y+x); System.out.println(x+y);实验5 分支结构程序的设计一、显示两级成绩 输入一个正整数repeat (0repeat10),做repeat次下列运算:输入一个学生的数学成绩,如果它低于60,输出“Fail”,否则,输出“Pass”。输出使用System.out.println(Pass及System.out.println(Fail2 (repeat=2) 60 59PassFailpublic class Test30001 public static vo
17、id main(String args) int ri, repeat; int mark; repeat=in.nextInt(); for(ri=1; ri=repeat; ri+) mark=in.nextInt(); if (markb) min=b;c) min=c;d) min=d;min is +min);三、求三角形的面积和周长输入三角形的三条边a, b, c,如果能构成一个三角形,输出面积area和周长perimeter;否则,输出“These sides do not correspond to a valid triangle”。在一个三角形中,任意两边之和大于第三边。三
18、角形的面积计算公式: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.);These sides do not correspond to a valid triangle5 5 31 1 4area=7.15;perimeter=13.0These sides do not correspond to a valid trianglepublic class Test30003 float a, b, c, area, perimeter, s; fo
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1