1、(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大。3、逻辑变量b1=true、b2=falseb1b2(异或运算)的结果是:b1!b2(b2取反后与b1异或运算)的结果是:n=31,m=15; m与n的位与运算结果是
2、: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的结果是:(m+2*n)/k的结果赋值给float型变量后x=(1)因为temp=(-m+n+),等价于依次执行以下
3、命令:-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);球的体积为+V);球的半径为球的体积为实验4 顺序结构程序的设计程序填空
4、,不要改变与输入输出有关的语句。一、求两个数的和与差。输入整数a和b,计算并输出a、b的和与差。输入2 -8输出The sum is -6The difference is 10import class Test20001 int a, b, sum, diff; Scanner in=new Scanner; a=(); b=(); /*-*/ sum=a+b; diff=a-b;The sum is +sum);The difference is +diff);二、求平方根。输入1个实数x,计算并输出其平方根。The square root of is import class Test2
5、0002 double x, root; x=(); root=(x);The square root of +x+ is +root);三、华氏温度转换为摄氏温度。输入华氏温度f,计算并输出相应的摄氏温度c。c = 5/9(f-32).括号内是说明 (华氏温度)The temprature is import class Test20003 public static void main(String args) double f, c; f=(); /*-*/ c=9*(f-32);import class Test20004 int time1, time2, hours, mins;
6、time1=(); time2=(); /*计算两个时间之间的小时数和分钟数*/ hours=time2/100-time1/100; mins=time2%100-time1%100; /*当计算得到的分钟数为负数时进行如下处理*/ hours=mins0?hours:hours-1; mins=minsmins:mins+60;The train journey time is +hours+ hrs + mins+ mins.五、数字加密。输入1个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10取余,做为该位上的新数字,最后将第1位和第3位上的数字互换,第2位和第4位
7、上的数字互换,组成加密后的新数。1257The encrypted number is 4601(每一位上的数字加9除以10取余后,得0146,交换后得到4601)import class Test20005 int number, digit1, digit2, digit3, digit4, newnum; number=(); /*先分离出各位上的数字*/ digit1=number/1000; digit2=number/100%10; ;public class Test20006 public static void main(String args) throws IOExcep
8、tion char ch; ch=(char) /*-*/ ch+=32;perimeter=+(int)(perimeter*100+/100.);These sides do not correspond to a valid triangle2 (repeat=2) 5 5 31 1 4area=;perimeter=These sides do not correspond to a valid triangleimport class Test30003 public static void main(String args) int ri, repeat; float a, b,
9、c, area, perimeter, s; repeat=(); for(ri=1; ric&a+cb&b+ca) else 四、判断数的符号输入整数x,若x大于0,y=1;若x等于0,y=0;否则,y=-1,最后输出y。3 (repeat=3) 2 -8 01 (x=2时y=1)-1 (x=-8时y=-1)0 (x=0时y=0)import class Test30004 int x, y; if(x0) y=1; else if(x=0) y=0;public class Test30007 public static void main(String args)throws IOExc
10、eption ch=(char) while(ch!=?) if(=ch&chZ) ch+=32; else if(z) f()=+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)和E(0-59),如果输入不正确的成绩,显示Invalid i
11、nput输入输出示例:6A B C D E j (repeat=6,输入的五级成绩分别为A、B、C、D、E和无效的字符j) 90-10080-8970-7960-690-59Invalid inputimport class Test30010 int repeat, ri; char ch; Scanner in=new Scanner; repeat=(); for(ri = 1; ri = repeat; ch=().charAt(0); /*输入1个字符*/ /*-*/ switch(ch) case :90-100break;80-89C70-79D60-69E0-59 defaul
12、t:实验6 循环结构程序的设计(一)1. 求11/21/31/n 输入一个正整数repeat (010),做repeat次下列运算:读入1 个正整数 n(n=100),计算并输出11/21/31/n 。2 (repeat=1)10import class Test40001 int i, n; float sum; n=(); /*-*/1. sum=0;. 输入一个正整数n,输出 2/1+3/2+5/3+8/5 +.的前n项之和,保留4位小数(不足4位时,不必用0填满4位)。(该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子)1 5 20 (第1项是 (前5项的和是
13、(前20项的和是import class Test40011 int i,n; float a,b,s,t; n=(); /*-*/ a=1;public class Test40014 public static void main(String args) int gcd, lcm, m, n,r; int repeat, ri; m=(); 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
14、 common multiple:+lcm +, the greatest common divisor:+gcd); 2. 求1 + 1/2! +.+ 1/n!输入1 个正整数n,计算 s 的前n项的和。 s = 1 + 1/2!输入:2 (repeat=2)2 (n=2)10 (n=10)输出:import class Test40021 float s,t; s=0; t=1; for(i=1;i=n;i+) t*=i;1. s+=1/t; .+ 1/n!输入1 个正整数n,计算 s 的前n项的和(保留 4 位小数)。要求定义并调用函数fact(n)计算n的阶乘。public class
15、 Test50001 int ri,repeat; int i,n; double s; for(ri=1;riri+) n=(); /*-*/i+) s+=fact(i); /*-*/ static double fact(int n) int i; double f=1; for(i=1; f*=i; return f; /* 方法fact(n)也可以用以下递归算法设计 static double fact(int n) if(n=1) return 1; else return n*fact(n-1); */2. 求aaaaaaaaa输入2个正整数a和n, 求a+aa+aaa+aaa(n
16、个a)之和。要求定义并调用函数fn(a,n),它的功能是返回aaa(n个a)。例如,fn(3,2)的返回值是33。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 int i, n,a; long sn; a=(); /*-*/ sn=0;i+) sn+=fn(a,i); /*-*/ static int fn(int a,int n) int s=0; for(int i=1; s=s*10+a; return s; /* 方法fn()也可以用以下递归算法设
17、计 static int fn(int a,int n) if (n=1) return a; return fn(a,n-1)*10+a;3. 统计一个整数中数字的个数读入1 个整数,统计并输出该数中2的个数。要求定义并调用函数countdigit(number,digit),它的功能是统计整数number中数字digit的个数。例如,countdigit(10090,0)的返回值是3。3 (repeat=3)-21902345543count=2 (-21902中有2个2)count=1 (有1个2)count=0 (345543中没有2)import class Test50003 int count; long n; /*-*/ n=(n); count=countdigit(n,2);count=+count);static int countdigit(long number,int digit) .要求定义并调用函数fib(n),它的功能是返回第n项Fibonacci数。例如,fib(7)的返回值是13。输出语句:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1