《java语言程序设计课后习题内容答案.doc》由会员分享,可在线阅读,更多相关《java语言程序设计课后习题内容答案.doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
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); /fal
2、seString 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(st
3、r2); /trueString 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 Exercise5public static void main(String args)int n=1678;int unit;int dec
4、imal;int hundred;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 Exercise51public static void main(String
5、args) throws IOExceptionSystem.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) Mat
6、h.pow(10,length); length=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.printl
7、n(“1678 包含的数字分别是:“+thousand+,+hundred+,+decimal+,+unit);/如果 n 为任意值import java.io.*;public class Exercise51public static void main(String args) throws IOExceptionSystem.out.print(“请输入一个整数:“);InputStreamReader isStream=new InputStreamReader(System.in);BufferedReader bfReader=new BufferedReader(isStrea
8、m);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); length=length-1;int output=n/divisor%10;System.out.print(output+“,“);6.编写 Java 程序,接受用户输入的 1-12之间的整数,若不符合条件则重新输入,利用 switch 语句输出对应月份的天数。import java
9、.io.*;public class Exercise6public static void main(String args) 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).intVal
10、ue();while(n12|nintArrayj)min=intArrayj;System.out.println(“最大值为:“+max);System.out.println(“最小值为:“+min);/从小到大排序int temp;for(int i=0;iintArrayj)temp=intArrayi;intArrayi=intArrayj;intArrayj=temp;/将排序后的结果打印System.out.println(“排序后的数组为:“);for(int i=0;imax) max=arrayij;System.out.println(“4*4 数组的最大值“+max)
11、; 15创建一个程序把输入字符串的大小互换。import java.io.*;public class Exercise15public static void main(String args) throws IOExceptionSystem.out.print(“请输入字符串:“);InputStreamReader isStream=new InputStreamReader(System.in);BufferedReader bfReader=new BufferedReader(isStream);String input=bfReader.readLine();char chan
12、ge=input.toCharArray();for(int i=0;iinput.length();i+)if (Character.isUpperCase(changei)changei=Character.toLowerCase(changei); elsechangei=Character.toUpperCase(changei);System.out.print(“转化后的字符串:“);for(int i=0;iinput.length();i+)System.out.print(changei);System.out.println();16用一段代码检测两个 double 型的数
13、 x和 y 是否相等。代码应能分辨这两个数是否是无穷大或 NaN.如果它们相等,代码能正确显示这个数。public class Exercise16public 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(x)|Double.isInfinite(y)System.out.println(“x 或 y 无
14、穷大!“);/不要用/(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 Exercise17public static void main(String args) throws NumberF
15、ormatExceptionint array=new intargs.length;for(int i=0;iargs.length;i+)trynew 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 型,它们将作为第二个方
16、法的输入参数,这个方法将把一个字符串连接在两个变量后面。public class Exercise19public static String connect(Stringstr,StringBuffer strBuf)String con=str+strBuf+“123“;return con;public static void main(String args)String str=“this is a String! “;StringBuffer strBuf=new StringBuffer(“this is a StringBuffer! “);String con=connect
17、(str,strBuf);System.out.println(“连接后的字符串为:“+con); 20创建一个简单的成绩单程序,帮助老师评估学生的表现。该程序用 double 数组存放成绩来计算平均成绩。/输入 120 个学生成绩,以“”号结束import java.io.*;public class Exercise20public static void main(String args) throws IOExceptionint i=0;double score=new double20;String str=“;doSystem.out.print(“请输入第“+i+“个学生的成绩
18、:“);InputStreamReader input=new .InputStreamReader(System.in);BufferedReader reader=new BufferedReader(input);str=reader.readLine();trydouble scoreTemp=new Double(str).doubleValue();scorei=scoreTemp;i+;catch(Exception e)continue; while(!str.equals(“#“);for(int j=0;ji;j+)System.out.print(scorej+“/“); double scoreSum=0;for(int j=0;ji;j+)scoreSum=scoreSum+scorej;System.out.println(“输入的“+i+“个同学平均成绩是:“+scoreSum/i);