java语言程序设计课后习题答案7页word.doc

上传人:1595****071 文档编号:33827330 上传时间:2022-08-12 格式:DOC 页数:7 大小:149.50KB
返回 下载 相关 举报
java语言程序设计课后习题答案7页word.doc_第1页
第1页 / 共7页
java语言程序设计课后习题答案7页word.doc_第2页
第2页 / 共7页
点击查看更多>>
资源描述

《java语言程序设计课后习题答案7页word.doc》由会员分享,可在线阅读,更多相关《java语言程序设计课后习题答案7页word.doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、如有侵权,请联系网站删除,仅供学习与交流java语言程序设计课后习题答案【精品文档】第 7 页习题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;Syst

2、em.out.println(str1= =str2); /falseString 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.pr

3、intln(str1.equals(str2); /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 Exercise5 public static void main(String args) int n=1678; int

4、 unit; int decimal; 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 Exercise51 public sta

5、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 length=input.length()-1; int n=new Integer(input).intValue(); while(lengt

6、h=0) int divisor=(int) Math.pow(10,length); length=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=

7、n/10%10; unit=n%10; System.out.println(1678包含的数字分别是:+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 b

8、fReader=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); length=length-1; int output=n/divisor%10; System.out.print(output+,);6.编写Java程序,接受用户输入的1-12之间的整数,若不符合条件则重新输

9、入,利用switch语句输出对应月份的天数。import java.io.*;public class 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.re

10、adLine(); n=new Integer(input).intValue(); while(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程序计算小于一个整数的全部素数并输出。imp

11、ort java.io.*;public class Exercise7 public static 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).intVa

12、lue(); 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程序实现:输入一组整数存放在数组中,比较并输出其中的最大值和最小值;在将数组元素从小到大排序并输出。import java.io.*;public class Exercise9 public static void main(String args) throws IOException final int N=5; int

13、 intArray=new intN; /数组的赋值 for(int i=0;iN;i+) System.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=intArra

14、y0; int 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;i+) for(int j=i;jintArrayj) temp=intArrayi; intArrayi=intArrayj; intArrayj=temp; /将排序后的结果打印 System.out.println(排序后的数组为:); for(int i

15、=0;iN;i+) System.out.print(intArrayi+,);10编写一个方法来计算正方形的面积和周长。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=Inte

16、ger.parseInt(input);System.out.println(周长为:+bianChang*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

17、使用数组存储一个英文句子“Java is an object oriented programming 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()

18、; 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型二维数组,并创建一个方法显示数组,计算任意给定的行,给定的列,主对角线和副对角线的和以及数组中的最大值。import java.io.*;public class Exercise14public static void main(String args) th

19、rows IOException double array= 2,4,5,7, 6,3,5,7, 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);St

20、ring row=reader.readLine();int irow=new Integer(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();doubl

21、e 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=(3-j) sum=sum+arrayij;System.out.println(第+irow+行所有元素+与第+iline+列所有元素+加上主对角线和副对角线的和为:+sum);/求最大值double

22、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 Exercise15 public static void main(String args) throws IOException System.out.print(请输入字符串:); InputStreamReader isStream=new InputStreamReader(System.in)

23、; BufferedReader bfReader=new BufferedReader(isStream); 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(转化后的字符串:

24、); for(int i=0;iinput.length();i+) System.out.print(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) S

25、ystem.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) System.out.println(x或y非法!);17.编写一个方法,把命令行输入的字符串转化为相应的int值。思考:如果字符串不能代表整数时该怎么办?import j

26、ava.io.*;public class Exercise17 public static 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.

27、print(arrayi+*);19创建一个有两个方法的程序。标准的main()方法初始化两个变量,一个是String型,另一个是StringBuffer型,它们将作为第二个方法的输入参数,这个方法将把一个字符串连接在两个变量后面。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 Strin

28、g! ; StringBuffer strBuf=new StringBuffer(this is a StringBuffer! ); String con=connect(str,strBuf); System.out.println(连接后的字符串为:+con); 20创建一个简单的成绩单程序,帮助老师评估学生的表现。该程序用double数组存放成绩来计算平均成绩。/输入120个学生成绩,以“”号结束import java.io.*;public class Exercise20public static void main(String args) throws IOException

29、int i=0;double score=new double20;String str=;doSystem.out.print(请输入第+i+个学生的成绩:);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);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁