您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > linux/Unix相关 > JAVA第二章 课后习题答案
1第2章Java基本语法1.下列哪些是正确的标识符?哪些是非法的标识符?print,_book,5days,+digit,_45,int,–number,a$,averSalary,if_count正确的标识符:_book,_45,a$,averSalary,if_count非法的标识符:print,5days,+digit,int,–number2.写出下列运算表达式的运算结果,已知x=6,y=10,z=0(1)x+y==20结果为:false(2)x=y+10结果为:x=16(3)x*=5结果为:x=30(4)y%x结果为:4(5)y/2=x?2:4结果为:4(6)y=6&&x=6结果为:true(7)x!=y||z0结果为:true(8)x=z--+y++结果为:x=10(9)z=x+++++y2结果为:z=173.编写程序,从键盘输入一个字母,如果是L,就显示Left,如果是R,就显示Right,其他的字母则显示Unknown。importjava.io.IOException;publicclassIfDemo{publicstaticvoidmain(Stringargs[])throwsIOException{charc;System.out.println(请输入一个大写字母:);c=(char)System.in.read();if(c=='L')System.out.println(Left);else{if(c=='R')System.out.println(Right);elseSystem.out.println(Unknown);}}}4.编写程序,通过命令行输入1~12之间的一个整数,输出相应月份的英文单词。importjavax.swing.JOptionPane;classSwitchDemo{publicstaticvoidmain(Stringargs[]){intnumber1;Stringm=null;do{StringsNumber=JOptionPane.showInputDialog(Pleaseenteranumber1-12:);number1=Integer.parseInt(sNumber);}while(number11||number112);switch(number1){case1:m=January;break;3case2:m=February;break;case3:m=March;break;case4:m=April;break;case5:m=May;break;case6:m=June;break;case7:m=July;break;case8:m=August;break;case9:m=September;break;case10:m=October;break;case11:m=November;break;case12:m=December;break;}JOptionPane.showMessageDialog(null,m,月份,JOptionPane.PLAIN_MESSAGE);}}45.编写程序,计算1~100所有非3的倍数的和。publicclassSumnot3{publicstaticvoidmain(Stringargs[]){intsum=0;for(inti=1;i=100;i++)if(i%3==0)continue;elsesum+=i;System.out.println(sum);}}6.编写程序,求Fibonacci数列中的前20项。(Fibonacci数列中前两项都是1,以后每项的值是前两项值的和,即1123581321……)publicclassFabonacci{publicstaticvoidmain(String[]args){System.out.println(fibonacci(20));}publicstaticintfibonacci(intn){//健壮性判断if(n0){System.out.println(n不能小于0!);return0;}//n=0elseif(n==0)return0;//n=1elseif(n==1)return1;//n1elsereturnfibonacci(n-1)+fibonacci(n-2);5}}7.编写程序,求100~999之间所有的三位水仙花数。(水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身,例如:1^3+5^3+3^3=153)publicclassShuixian{publicstaticvoidmain(String[]args){intb1,b2,b3;for(intm=101;m1000;m++){b3=m/100;b2=m%100/10;b1=m%10;if((b3*b3*b3+b2*b2*b2+b1*b1*b1)==m)System.out.println(m+是一个水仙花数);}}}8.编写程序,用*打印一个菱形图案。publicclassStar{publicstaticvoidmain(String[]args){inti,j;//画出上半部分图案for(i=1;i=4;i++)//画上面4行{for(j=1;j=4-i;j++)System.out.print();//画空格for(j=1;j=2*i-1;j++)System.out.print(*);//画星号System.out.println();//换行}6//画出下半部分图案for(i=3;i=1;i--)//画下面3行{for(j=1;j=4-i;j++)System.out.print();//画空格for(j=1;j=2*i-1;j++)System.out.print(*);//画星号System.out.println();//换行}}}9.编写程序,将十进制整数转换为二进制。publicclassTentotwo{publicstaticvoidmain(String[]args){inta=123;//定义一个变量并赋给他一个十进制的值intremainder;//定义一个变量用于存储余数intsum=0;//定义一个变量用于存放和intk=1;//定义一个变量控制位数while(a!=0){remainder=a%2;//对目标数字求余a/=2;//对目标数字求商sum=sum+remainder*k;//求和k*=10;//改变位数}7System.out.println(10进制的123转换为2进制结果为:+sum);}}10.编写一个判断素数的方法。以整数作为参数,当该参数是素数时,输出Yes,否则输出No。publicclassSushu{publicstaticvoidmain(Stringargs[]){inta=Integer.parseInt(args[0]);booleanb=isPrime(a);if(b)System.out.println(Yes);elseSystem.out.println(No);}staticbooleanisPrime(intm){booleanresult=true;for(inti=2;im;i++)if(m%i==0){result=false;break;}returnresult;}}11.编写程序,找出一个55的整型二维数组中各元素的最大值和最小值。publicclassShuzu{publicstaticvoidmain(Stringargs[]){intmax=-100,min=100;intarray[][]={{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20},{21,22,23,24,25}};for(inti=array.length-1;i=0;i--)for(intj=array[i].length-1;j=0;j--){if(array[i][j]max)max=array[i][j];if(array[i][j]max)min=array[i][j];}System.out.println(max=+max);8System.out.println(min=+min);}}12.编写程序,输入一个字符串,使字符串反序输入。例如,输入“abcd”,输出“dcba”。importjava.util.*;publicclassReverse{publicstaticvoidmain(Stringargs[]){System.out.println(请输入字符串:);Scanners=newScanner(System.in);Strings1=s.next();Stringtemp=,result=;for(inti=0;is1.length();i++){temp=s1.substring(i,i+1);result=temp+result;}System.out.println(result);}}
本文标题:JAVA第二章 课后习题答案
链接地址:https://www.777doc.com/doc-7028301 .html