java语言程序设计课后习题答案_第1页
java语言程序设计课后习题答案_第2页
java语言程序设计课后习题答案_第3页
java语言程序设计课后习题答案_第4页
免费预览已结束,剩余4页可下载查看

下载本文档

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

文档简介

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

2、 str1 = 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

3、str1 = new 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 Exercise5publicstaticvoidmain(Stringargs)int n=1678;精品文档int unit;int decimal;int hundre

4、d;int thousand;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 Exercise51publicstaticvoidmain(Stringargs)throws IOExcept

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

6、=length-1;int output=n/divisor;.n=n%divisor;System.out.print(output+,);法二: ( 建议使用 )public class Exercise5public 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包含的数字分别是:+thousan

7、d+,+hundred+,+decimal+,+unit);/ 如果 n 为任意值import java.io.*;public class Exercise51publicstaticvoidmain(Stringargs)throws IOExceptionSystem.out.print(请输入一个整数: );InputStreamReader isStream=new InputStreamReader(System.in);BufferedReader bfReader=new BufferedReader(isStream);String input=bfReader.readLi

8、ne(); int length=input.length()-1; int n=newInteger(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 class Exercise6pu

9、blicstaticvoidmain(Stringargs)throws IOExceptionint n;doSystem.out.print(请输入 1-12 之间的整数: );InputStreamReader isStream=new InputStreamReader(System.in);BufferedReader bfReader=new BufferedReader(isStream);String input=bfReader.readLine(); n=new Integer(input).intValue(); while(n12|n1);switch(n)case 2

10、:System.out.println(n+月份 29 天 );break; case 1: case 3: case 5: case 7:case 8:case 10:case12:System.out.println(n+月份 31 天 );break;case 4:case 6:case 9:case11:System.out.println(n+月份 30 天 );break; .精品文档7编写 Java 程序计算小于一个整数的全部Integer(input).intValue();素数并输出。intArrayi=n;import java.io.*;public class Exer

11、cise7/求最大最小值publicstaticvoidmain(Stringargs)int max=intArray0;throws IOExceptionint min=intArray0;System.out.print(请输入一个整数: );for(int j=0;jN;j+)InputStreamReader isStream=newif(maxintArrayj)BufferedReader(isStream);min=intArrayj;Stringinput=bfReader.readLine();int n=newSystem.out.println(最 大值 为:Inte

12、ger(input).intValue();+max);int i;System.out.println(最 小值 为:System.out.println(2);+min);for(i=2;in;i+)for(int j=2;j=i/2+1;j+)/从小到大排序if (i%j=0) break;int temp;if (j=i/2+1)for(int i=0;iN;i+)System.out.println(i);for(int j=i;jintArrayj)temp=intArrayi;intArrayi=intArrayj;9编写 Java 程序实现: 输入一组整数存放intArrayj

13、=temp;在数组中, 比较并输出其中的最大值和最小值;在将数组元素从小到大排序并输出。import java.io.*;public class Exercise9/将排序后的结果打印publicstaticvoidmain(Stringargs)System.out.println(排序后的数组为:throws IOException);final int N=5;for(int i=0;iN;i+)int intArray=new intN;System.out.print(intArrayi+,);/数组的赋值for(int i=0;iN;i+)System.out.print(数组的

14、第 +i+个元素是: );InputStreamReader isStream=new10编写一个方法来计算正方形的面积和周InputStreamReader(System.in);长。BufferedReader bfReader=newimport java.io.*;BufferedReader(isStream);public class Exercise10String input=bfReader.readLine();System.out.print(“请输入正方形的边int n=new长:” ).精品文档InputStreamReader isStream=newInputSt

15、reamReader(System.in);System.out.println();BufferedReader bfReader=newint length=0;BufferedReader(isStream);double avr=0;String input=bfReader.readLine();for(int i=0;istr.length;i+)intlength=length+stri.length();bianChang=Integer.parseInt(input);System.out.println(周长为: +bianChang*4);avr=(double)leng

16、th/str.length;System.out.println(面积为: +System.out.println(平均数的大小bianChang*bianChang);为: +avr);11. 编写一个方法来计算 1000 以内的素数之和并输出。14定义一个4 行 4 列的 double 型二维数public class Exercise11组,并创建一个方法显示数组,计算任意给publicstaticvoidmain(String定的行, 给定的列, 主对角线和副对角线的args)和以及数组中的最大值。int sum=2;import java.io.*;for(int i=2;i=100

17、;i+)public class Exercise14for(int j=2;j=i/2+1;j+)publicstaticvoidmain(Stringif(i%j=0) break;args) throws IOExceptionif(j=i/2+1)double array= 2,4,5,7,System.out.println(i);6,3,5,7,6,7,4,4,2,2,3,3;/显示 4 4 的二维数组for(int i=0;i4;i+)for(int j=0;j4;j+)12使用数组存储一个英文句子“Java is anSystem.out.print(arrayijobject

18、 oriented programming language.”+ );显示该句子,并算出每个单词的平均字母System.out.println();数。import java.io.*;public class Exercise12System.out.print(请输入选择的行publicstaticvoidmain(String(0-3) : );args)InputStreamReader input=newStringInputStreamReader(System.in);str=Java,is,an,object,orienBufferedReader reader=newted

19、,programming,language;BufferedReader(input);/打印句子String row=reader.readLine();for(int i=0;istr.length;i+)int irow=newSystem.out.print(stri+ );Integer(row).intValue();System.out.println();.精品文档System.out.print(请输入选择的列15创建一个程序把输入字符串的大小互(0-3) : );换。InputStreamReader input2=newimport java.io.*;InputStre

20、amReader(System.in);public class Exercise15BufferedReader reader2=newpublicstaticvoidmain(Stringargs)BufferedReader(input2);throws IOExceptionString line=reader2.readLine();System.out.print(请输入字符串:int iline=new);Integer(line).intValue();InputStreamReader isStream=newdouble sum=0;InputStreamReader(Sy

21、stem.in);for(int i=0;i4;i+)BufferedReader bfReader=newsum=sum+arrayirowi;BufferedReader(isStream);Stringinput=bfReader.readLine();for(int j=0;j4;j+)charsum=sum+arrayjiline;change=input.toCharArray();/ 主对角线for(int i=0;iinput.length();i+)for(int i=0;i4;i+)if(Character.isUpperCase(changei)for(int j=0;j

22、4;j+)changei=Character.toLowerCase(if(i=j) sum=sum+arrayij;changei);elsechangei=Character.toUpperCase(/ 副对角线changei);for(int i=0;i4;i+)for(int j=0;j4;j+)System.out.print(转化后的字符串:if(i=(3-j) sum=sum+arrayij;);for(int i=0;iinput.length();i+)System.out.println(第 +irow+行System.out.print(changei);所有元素 + 与

23、第 +iline+列所有元素+System.out.println();加上主对角线和副对角线的和为:+sum);/ 求最大值double max=array00;for(int i=0;i4;i+)16用一段代码检测两个double型的数xfor(int j=0;jmax)是无穷大或NaN.如果它们相等, 代码能正确max=arrayij;显示这个数。public class Exercise16System.out.println(4*4数组的最大publicstaticvoidmain(String值+max);args)double x=2.0/0.0;double y=0;.精品文档

24、if(x=Double.POSITIVE_INFINITY|y=Do19创建一个有两个方法的程序。标准的uble.POSITIVE_INFINITY)main() 方法初始化两个变量, 一个是 StringSystem.out.println(x或y 无穷型,另一个是StringBuffer型,它们将作大! );为第二个方法的输入参数,这个方法将把一个字符串连接在两个变量后面。if(Double.isInfinite(x)|Double.isInfpublic class Exercise19inite(y)publicstaticStringconnect(StringSystem.out.

25、println(x或y 无穷str,StringBuffer strBuf)大! );String con=str+strBuf+123;return con;/ 不要用/(x=Double.NaN|y=Double.NaN)/ 对于 NaN的检测,不能使用Double 的 NaNpublicstaticvoidmain(String/ 常量,而必须用Double.isNaN方法args)if(Double.isNaN(x)|Double.isNaN(y)String str=this is a String! ;StringBuffer strBuf=newSystem.out.println(x或 y 非法 !);StringBuffer(this is a StringBuffer!);String con=connect(str,strBuf);System.out.println(连 接 后 的 字符串为: +con);17. 编写一个方法,把命令行输入的字符串转化为相应的int值。思考: 如果字符串不能代表整数时该怎么办?import java.io.*;20创建一个简单的成绩单程序,帮助老师public class Exercise17评估学生的表现。该程序用double数组存publicstaticvoidmai

温馨提示

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

评论

0/150

提交评论