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

下载本文档

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

文档简介

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

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

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

4、undred=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 Exercise51public static void main(String args) throwsIOExceptionSystem.out.print(请 输 入 一 个 整数:)。InputStreamReader i

5、sStream=newInputStreamReader(System.in)。BufferedReader bfReader=newBufferedReader(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)。str2abclength= output=n/divisor。n=n%divisor。Syst

6、em.out.print(output+,)。法二:(建议使用)public class Exercise5public static void main(String args)int n=1678。int thousand。thousand=n/1000%10。hundred=n/100%10。decimal=n/10%10。unit=n%10。System.out.println(1678包含的 数字分别是:+thousand+,+hundred+,+decimal+,+unit)。/如果n为任意值import java.

7、io.*。public class Exercise51public static void main(String args) throwsIOExceptionSystem.out.print(请 输 入 一 个 整 数:)。InputStreamReader isStream=newInputStreamReader(System.in)。BufferedReader bfReader=newBufferedReader(isStream)。String input=bfReader.readLine()。int length=input.length()-1。int n=newInte

8、ger(input).intValue()。while(length=0)int divisor=(int)Math.pow(10,length)。length= output=n/divisor%10。System.out.print(output+,)。6.编写Java程序,接受用户输入的1-12之间的整数,若不符合条件则重新输入, 利用switch语句输出对应月份的天数。importjava.io.*。public class Exercise6public static void main(String args) throwsIOExceptionint n。

9、doSystem.out.print(请输入1-12之 间的整数:)。InputStreamReader isStream=newInputStreamReader(System.in)。BufferedReader bfReader=newBufferedReader(isStream)。Stringinput=bfReader.readLine()。n=newInteger(input).intValue()。while(n12|n1)。switch(n)case 2: System.out.println(n+月份29天)。break。case 1:case 3:case 5:case

10、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 Exercise7public static void main(String args) throwsIOExceptionSystem.out.print(请 输 入 一 个 整 数:)。InputStreamReader isSt

11、ream=newInputStreamReader(System.in)。BufferedReader bfReader=newBufferedReader(isStream)。Stringinput=bfReader.readLine()。int n=newInteger(input).intValue()。int i。System.out.println(2)。for(i=2。in。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程序实现:输入一组整数存 放在数组中,

12、比较并输出其中的最大值和 最小值;在将数组元素从小到大排序并输 出。import java.io.*。public class Exercise9public static void main(Stringargs) throws IOExceptionfinal int N=5。int intArray=new intN。/数组的赋值for(int i=0。iN。i+)System.out.print(数 组 的 第+i+个元素是:)。InputStreamReader isStream=newInputStreamReader(System.in)。BufferedReader bfRea

13、der=newBufferedReader(isStream)。Stringinput=bfReader.readLine()。int n=newInteger(input).intValue()。intArrayi=n。/求最大最小值int max=intA min=intArray0。for(int j=0。jN。j+)if(maxintArrayj)min=intArrayj。System.out.println(最 大 值 为 :+max)。System.out.println(最 小 值 为 :+min)。/从小到大排序int temp。for(int i=0。iN

14、。i+)for(int j=i。jintArrayj) temp=intAArrayi=intAArrayj=temp。/将排序后的结果打印System.out.println(排 序 后 的 数 组 为:)。for(int i=0。iN。i+)System.out.print(intArrayi+,)。10编写一个方法来计算正方形的面积和 周长。import java.io.*。public class Exercise10System.out.print(“请输入正方形的边长:”)InputStreamReader isStream=newInputSt

15、reamReader(System.in)。BufferedReader bfReader=newBufferedReader(isStream)。String input=bfReader.readLine()。intbianChang=Integer.parseInt(input)。System.out.println(周长为:+ bianChang*4)。System.out.println(面积为:+bianChang*bianChang)。11.编写一个方法来计算1000以内的素数 之和并输出。public class Exercise11public static void mai

16、n(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 isan object oriented programming language.”显示该句子,并算出每个单词 的平均字母数。import java.io.*。public class Exercise12public static void main(String args)String str=Java,is,an,o

17、bject,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.length。i+)length=length+stri.length()。avr=(double)length/str.length。System.out.println(平 均 数的 大小 为:+avr)。14定义一个4行4列的double型二维数 组,并创建一个方法显示数组,计算

18、任意 给定的行,给定的列,主对角线和副对角 线的和以及数组中的最大值。import java.io.*。public class Exercise14public static void main(String args)throws IOExceptiondoublearray= 2,4,5,7,6,3,5,7,6,7,4,4,2,2,3,3。/显示4X4的二维数组for(int i=0。i4。i+)for(int j=0。j4。j+)System.out.print(arrayij + )。System.out.println()。System.out.print(请输入选择的 行(0-3

19、):)。InputStreamReader input=newInputStreamReader(System.in)。BufferedReader reader=newBufferedReader(input)。String row=reader.readLine()。intirow=newInteger(row).intValue()。System.out.println()。System.out.print(请输入选择的 列(0-3):)。InputStreamReader input2=newInputStreamReader(System.in)。BufferedReader rea

20、der2=newBufferedReader(input2)。Stringline=reader2.readLine()。int iline=newInteger(line).intValue()。double sum=0。for(int i=0。i4。i+)sum=sum+arrayirowi。for(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=(

21、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)max=arrayij。System.out.println(4*4数组的最大值+max)。15创建一个程序把输入字符串的大小互换。import java.io.*。public class Exercise15public static void main(String args) th

22、rowsIOExceptionSystem.out.print(请输入字符串:)。InputStreamReader isStream=newInputStreamReader(System.in)。BufferedReader bfReader=newBufferedReader(isStream)。Stringinput=bfReader.readLine()。charchange=input.toCharArray()。for(int i=0。iinput.length()。i+)if (Character.isUpperCase(changei)changei=Character.to

23、LowerCase( changei)。elsechangei=Character.toUpperCase(changei)。System.out.print(转 化 后 的 字 符 串 :)。for(int i=0。iinput.length()。i+)System.out.print(changei)。System.out.println()。16用一段代码检测两个double型的数x和y是否相等。代码应能分辨这两个数是 否是无穷大或NaN.如果它们相等,代码能正确显示这个数。public class Exercise16public static void main(Stringargs

24、)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(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)S

25、ystem.out.println(x或y非法!)。17.编写一个方法,把命令行输入的字符串 转化为相应的int值。思考:如果字符串 不能代表整数时该怎么办?import java.io.*。publicclass Exercise17 public static void main(Stringargs) throws NumberFormatExceptionintarray=newintargs.length。for(inti=0。iargs.length。i+)trynew Integer(argsi).intValue()。catch(Exception e)continue。arrayi=newInteger(argsi).intValue()。for(int i=0。iargs.length。i+)System.out.print(arrayi+*)。 19创建一个有两个方法的程序。标准的main()方 法 初 始 化 两 个 变 量 ,一 个 是String型,另一个是StringBuffer型,它 们将作为第二个方法的输入参数, 这个方 法将把一个字符串连接在两个变量后面。publicclass Exercise19publicstaticStringconnect(String str,StringBuffer strBuf)Stri

温馨提示

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

评论

0/150

提交评论