java语言程序设计课后习题答案_第1页
java语言程序设计课后习题答案_第2页
java语言程序设计课后习题答案_第3页
java语言程序设计课后习题答案_第4页
java语言程序设计课后习题答案_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、习题23使用“= =”对相同内容的字符串进行比较,看会产生什么样的结果。答:首先创建一个字符串变量有两种方式:String str = new String(abc);String str = abc;使用“= =”会因为创建的形式不同而产生不同的结果:String str1 = abc;String str2 = abc;System.out.println(str1= =str2); /trueString str1 = new String(abc);String str2 = abc;System.out.println(str1= =str2); /falseString str1

2、= new String(abc);String str2 = new String(abc);System.out.println(str1= =str2); /false因此自符串如果是对内容进行比较,使用equals方法比较可靠。String str1 = abc;String str2 = abc;System.out.println(str1= =str2); /trueString str1 = new String(abc);String str2 = abc;System.out.println(str1.equals(str2); /trueString str1 = new

3、 String(abc);String str2 = new String(abc);System.out.println(str1.equals(str2); /true5编写一个程序,把变量n的初始值设置为1678,然后利用除法运算和取余运算把变量的每位数字都提出来并打印,输出结果为:n=1678。n的每位数字是1,6,7,8。若n为任意值呢?法一:public class Exercise5 public static void main(String args) int n=1678; int unit; int decimal; int hundred; int thousand;

4、int count; thousand=n/1000; count=n%1000; hundred=count/100; count=count%100; decimal=count/10; count=count%10; unit=count; System.out.println(1678包含的数字分别是:+thousand+,+hundred+,+decimal+,+unit);/如果n为任意值import java.io.*;public class Exercise51 public static void main(String args) throws IOException S

5、ystem.out.print(请输入一个整数:); InputStreamReader isStream=new InputStreamReader(System.in); BufferedReader bfReader=new BufferedReader(isStream); String input=bfReader.readLine(); int length=input.length()-1; int n=new Integer(input).intValue(); while(length=0) int divisor=(int) Math.pow(10,length); len

6、gth=length-1; int output=n/divisor; n=n%divisor; System.out.print(output+,);法二:(建议使用)public class Exercise5 public static void main(String args) int n=1678; int unit; int decimal; int hundred; int thousand; thousand=n/1000%10; hundred=n/100%10; decimal=n/10%10; unit=n%10; System.out.println(1678包含的数

7、字分别是:+thousand+,+hundred+,+decimal+,+unit);/如果n为任意值import java.io.*;public class Exercise51 public static void main(String args) throws IOException System.out.print(请输入一个整数:); InputStreamReader isStream=new InputStreamReader(System.in); BufferedReader bfReader=new BufferedReader(isStream); String in

8、put=bfReader.readLine(); int length=input.length()-1; int n=new Integer(input).intValue(); while(length=0) int divisor=(int) Math.pow(10,length); length=length-1; int output=n/divisor%10; System.out.print(output+,);6.编写Java程序,接受用户输入的1-12之间的整数,若不符合条件则重新输入,利用switch语句输出对应月份的天数。import java.io.*;public c

9、lass Exercise6 public static void main(String args) throws IOException int n; do System.out.print(请输入1-12之间的整数:); InputStreamReader isStream=new InputStreamReader(System.in); BufferedReader bfReader=new BufferedReader(isStream); String input=bfReader.readLine(); n=new Integer(input).intValue(); whil

10、e(n12|n1); switch(n) case 2: System.out.println(n+月份29天);break; case 1: case 3: case 5: case 7: case 8: case 10: case 12: System.out.println(n+月份31天);break; case 4: case 6: case 9: case 11: System.out.println(n+月份30天);break;7编写Java程序计算小于一个整数的全部素数并输出。import java.io.*;public class Exercise7 public sta

11、tic void main(String args) throws IOException System.out.print(请输入一个整数:); InputStreamReader isStream=new InputStreamReader(System.in); BufferedReader bfReader=new BufferedReader(isStream); String input=bfReader.readLine(); int n=new Integer(input).intValue(); int i; System.out.println(2); for(i=2;in

12、;i+) for(int j=2;j=i/2+1;j+) if (i%j=0) break; if (j=i/2+1) System.out.println(i);9编写Java程序实现:输入一组整数存放在数组中,比较并输出其中的最大值和最小值;在将数组元素从小到大排序并输出。import java.io.*;public class Exercise9 public static void main(String args) throws IOException final int N=5; int intArray=new intN; /数组的赋值 for(int i=0;iN;i+) S

13、ystem.out.print(数组的第+i+个元素是:); InputStreamReader isStream=new InputStreamReader(System.in); BufferedReader bfReader=new BufferedReader(isStream); String input=bfReader.readLine(); int n=new Integer(input).intValue(); intArrayi=n; /求最大最小值 int max=intArray0; int min=intArray0; for(int j=0;jN;j+) if(ma

14、xintArrayj) min=intArrayj; System.out.println(最大值为:+max); System.out.println(最小值为:+min); /从小到大排序 int temp; for(int i=0;iN;i+) for(int j=i;jintArrayj) temp=intArrayi; intArrayi=intArrayj; intArrayj=temp; /将排序后的结果打印 System.out.println(排序后的数组为:); for(int i=0;iN;i+) System.out.print(intArrayi+,);10编写一个方

15、法来计算正方形的面积和周长。import java.io.*;public class Exercise10 System.out.print(“请输入正方形的边长:”) InputStreamReader isStream=new InputStreamReader(System.in); BufferedReader bfReader=new BufferedReader(isStream); String input=bfReader.readLine(); int bianChang=Integer.parseInt(input);System.out.println(周长为:+bia

16、nChang*4);System.out.println(面积为:+bianChang*bianChang);11.编写一个方法来计算1000以内的素数之和并输出。public class Exercise11 public static void main(String args) int sum=2; for(int i=2;i=100;i+) for(int j=2;j=i/2+1;j+) if(i%j=0) break; if(j=i/2+1) System.out.println(i);12使用数组存储一个英文句子“Java is an object oriented program

17、ming language.”显示该句子,并算出每个单词的平均字母数。import java.io.*;public class Exercise12 public static void main(String args) String str=Java,is,an,object,oriented,programming,language; /打印句子 for(int i=0;istr.length;i+) System.out.print(stri+ ); System.out.println(); int length=0; double avr=0; for(int i=0;istr.

18、length;i+) length=length+stri.length(); avr=(double)length/str.length; System.out.println(平均数的大小为:+avr);14定义一个4行4列的double型二维数组,并创建一个方法显示数组,计算任意给定的行,给定的列,主对角线和副对角线的和以及数组中的最大值。import java.io.*;public class Exercise14public static void main(String args) throws IOException double array= 2,4,5,7, 6,3,5,7

19、, 6,7,4,4, 2,2,3,3; /显示44的二维数组for(int i=0;i4;i+) for(int j=0;j4;j+) System.out.print(arrayij System.out.println();System.out.print(请输入选择的行(0-3):);InputStreamReader input=new InputStreamReader(System.in);BufferedReader reader=new BufferedReader(input);String row=reader.readLine();int irow=new Integer

20、(row).intValue();System.out.println();System.out.print(请输入选择的列(0-3):);InputStreamReader input2=new InputStreamReader(System.in);BufferedReader reader2=new BufferedReader(input2);String line=reader2.readLine();int iline=new Integer(line).intValue();double sum=0;for(int i=0;i4;i+)sum=sum+arrayirowi;fo

21、r(int j=0;j4;j+)sum=sum+arrayjiline;/主对角线for(int i=0;i4;i+) for(int j=0;j4;j+) if(i=j) sum=sum+arrayij;/副对角线for(int i=0;i4;i+) for(int j=0;j4;j+) if(i=(3-j) sum=sum+arrayij;System.out.println(第+irow+行所有元素+及第+iline+列所有元素+加上主对角线和副对角线的和为:+sum);/求最大值double max=array00;for(int i=0;i4;i+) for(int j=0;jmax

22、) max=arrayij; System.out.println(4*4数组的最大值+max); 15创建一个程序把输入字符串的大小互换。import java.io.*;public class Exercise15 public static void main(String args) throws IOException System.out.print(请输入字符串:); InputStreamReader isStream=new InputStreamReader(System.in); BufferedReader bfReader=new BufferedReader(is

23、Stream); String input=bfReader.readLine(); char change=input.toCharArray(); for(int i=0;iinput.length();i+) if (Character.isUpperCase(changei) changei=Character.toLowerCase(changei); else changei=Character.toUpperCase(changei); System.out.print(转化后的字符串:); for(int i=0;iinput.length();i+) System.out.p

24、rint(changei); System.out.println();16用一段代码检测两个double型的数x和y是否相等。代码应能分辨这两个数是否是无穷大或NaN.如果它们相等,代码能正确显示这个数。public class Exercise16 public static void main(String args) double x=2.0/0.0; double y=0; if(x=Double.POSITIVE_INFINITY|y=Double.POSITIVE_INFINITY) System.out.println(x或y无穷大!);if(Double.isInfinite

25、(x)|Double.isInfinite(y) System.out.println(x或y无穷大!);/不要用/(x=Double.NaN|y=Double.NaN)/对于NaN的检测,不能使用Double的NaN/常量,而必须用Double.isNaN方法 if(Double.isNaN(x)|Double.isNaN(y) System.out.println(x或y非法!);17.编写一个方法,把命令行输入的字符串转化为相应的int值。思考:如果字符串不能代表整数时该怎么办?import java.io.*;public class Exercise17 public static

26、void main(String args) throws NumberFormatException int array=new intargs.length; for(int i=0;iargs.length;i+) try new Integer(argsi).intValue(); catch(Exception e) continue; arrayi=new Integer(argsi).intValue(); for(int i=0;iargs.length;i+) System.out.print(arrayi+*);19创建一个有两个方法的程序。标准的main()方法初始化两个变量,一个是String型,另一个是StringBuffer型,它们将作为第二个方法的输入参数,这个方法将把一个字符串连接在两个变量后面。public class Exercise19public static String connect(Stringstr,StringBuffer strBuf) Str

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论