欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    Java语言程序设计第三章课后习题答案.docx

    • 资源ID:3061455       资源大小:39.36KB        全文页数:8页
    • 资源格式: DOCX        下载积分:6.99金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要6.99金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Java语言程序设计第三章课后习题答案.docx

    Java语言程序设计第三章课后习题答案Java语言程序设计(郑莉) 第三章课后习题答案 1.设N为自然数: n!=1*2*3*.*n 称为n的阶乘,并且规定0!=1.试编程计算2!,4!,6!he 10!.并将结果输出到屏幕上。 答: public class Mul public static void main(String args) int i,n; float s; for(n=0;n<=10;n=n+2) if(n=0) System.out.println("0!=1n"); else s=1; for(i=1;i<=n;i+) s=s*i; System.out.println(n+"!="+s+"n"); 2.编写程序,接收用户从键键盘上输入的三个整数x,y,z.从中选出最大和最小者,并编程实现。 答:public class Math public static void main(String args) int IntArg = new intargs.length; for(int i=0;i<args.length;i+) IntArgi = Integer.parseInt(argsi); int max,min; max=IntArg0>IntArg1?IntArg0:IntArg1; max=max>IntArg2?max:IntArg2; min=IntArg0<IntArg1?IntArg0:IntArg1; min=min<IntArg2?min:IntArg2; System.out.println("max="+max); System.out.println("min="+min); 3.求出100一枚的宿舍,并将这些数在屏幕上5个乙杭地显示出来。 答: public class Su public static void main(String args) int n,i,k=0,y; for(n=2;n<=100;n+) y=1; for(i=2;i<n;i+) if(n%i=0) y=0;break; if(y=1) k+; System.out.print(n+" "); if(k%5=0) System.out.print("n"); 4.使用java.lang.Math类,生成100个0-99之间的随机整数,找出他们之中的最大值和最小值,并统计大于50的整数个数。 public class Random public static void main(String args) int MinNum,MaxNum,n=0; int array=new int100; array0=(int)(Math.random*100); MinNum=array0; MaxNum=array0; System.out.println("数列为:"); System.out.print(array0+" "); for(int i=0;i<100;i+) arrayi=(int)(Math.random*100); if(arrayi>50) n+; if(arrayi>=MaxNum) MaxNum=arrayi; if(arrayi<=MinNum) MinNum=arrayi; System.out.print(arrayi+" "); System.out.println; System.out.println("MinNum="+MinNum); System.out.println("MaxNum="+MaxNum); System.out.println("大于50的整数个数有:"+n); 5.接收用户从键盘上输入的两个整数,求两个数的最大公约数和最小公倍数,并输出。 public class Test2 public static void main(String args) int I = new intargs.length; for(int i=0;i<args.length;i+) Ii = Integer.parseInt(argsi); int m,n,temp,t; if(I0<I1) temp=I0; I0=I1; I1=temp; m=I0; n=I1; t=m%n; while(t!=0) m=t; n=m; t=m%n; System.out.println("两个数的最大公约数为:"+n); System.out.println("两个数的最小公倍数为:"+I0*I1/n); 6. 从键盘上输入一件物品的价格,假设用户支付了一张5元纸币,请列出一种找零的方案,使得纸币及硬币的个数最少。如3.68元,应为两元一张、一元一张、五角一个、一角一个、五分一个、二分一个、一分一个。 / Price类 import java.io.*; public class Price public static void main(String args) System.out.println("enter a number(0.01-5.00):"); float a=Keyboard.getFloat; int c=(int)(a*100); int b=500-c; System.out.println("找零如下:"); if(b/200!=0)System.out.println(b/200+"张2元");b-=(b/200)*200; if(b/100!=0)System.out.println(b/100+"张1元");b-=(b/100)*100; if(b/50!=0)System.out.println(b/50+"张5角");b-=(b/50)*50; if(b/20!=0)System.out.println(b/20+"张2角");b-=(b/20)*20; if(b/10!=0)System.out.println(b/10+"张1角");b-=(b/10)*10; if(b/5!=0)System.out.println(b/5+"个5分");b-=(b/5)*5; if(b/2!=0)System.out.println(b/2+"个2分");b-=(b/2)*2; if(b!=0)System.out.println(b+"个1分"); / Keyboard类 import java.io.*; public class Keyboard static BufferedReader inputStream =new BufferedReader(new InputStreamReader(System.in); public static int getInteger try return(Integer.valueOf(inputStream.readLine.trim).intValue); catch(Exception e) e.printStackTrace; return 0; public static String getString try return(inputStream.readLine); catch(IOException e) return"0" public static float getFloat String s="" try BufferedReader in = new BufferedReader(new InputStreamReader(System.in); s=in.readLine; return(Float.parseFloat(s); catch(IOException e) System.out.println("输入非法!"); return(0.0f); 运行结果: 7.什么是异常?解释抛出、捕获的含义。 答:异常又称为例外,是特殊的运行错误对象,在程序中可以强制编译器来处理程序运行中的发生的并非由程序本身所造成的错误; 抛出异常:把生成异常对象并提交的过程称为抛出异常; 抛出异常是java中一个程序处理动作,检查异常时要么在方法中声明一个异常抛出,用try-catch语句捕获异常,并进行处理。 8.简述Java的异常处理机制。 答:java中声明了很多异常类,每个异常类都代表了一种运行错误,类中包含了该运行错误的信息和处理错误的方法等内容。每当java程序运行过程中发生一个可识别的运行错误时,即该错误有一个异常类与之相对应时,系统都会产生一个相应的该异常类的对象,即产生一个异常。一旦一个异常对象产生了,系统中就一定有相应的机制来处理它,确保不会产生死机、死循环或其他对操作系统的损害,从而保证了整个程序运行的安全性。 9.系统定义的异常与用户自定义的异常有何不同?如何使用这两类异常? 答:系统定义的特定情况出现的问题,而此时用来对可能遇到的问题进行处理。用户定义的是自己觉得可能会出现问题时,需要处理的。这样避免程序中断或是出现未知错误。 系统异常有两种一种是运行时异常,一种是普通异常,普通异常要求用户捕获或者抛出的,不补货或者抛出就会编译不通过。运行时异常编译可以通过,但是运行时才显露出来。 10.用户如何自定义异常?编程实现一个用户自定义异常。 定义mytest import java.io.*; public class mytest public static void main(String args) int number1=0,number2=0, result=0; try System.out.println("输入第一个数字:"); number1=Integer.valueOf(Keyboard.getString).intValue; System.out.println("输入第二个数字:"); number2=Integer.valueOf(Keyboard.getString).intValue; result=quotient(number1,number2); catch(NumberFormatException e) private static int quotient(int number,int denominator)throws DivideByZeroException if(denominator=0) throw new DivideByZeroException; return(number/denominator); System.out.println(e.toString); System.exit(-1); System.out.println(number1+"/"+number2+"="+result); 定义DivideByZeroException public class DivideByZeroException extends ArithmeticException 定义Keyboard import java.io.*; public class Keyboard static BufferedReader inputStream=new BufferedReader(new InputStreamReader(System.in); public static int getInteger try return (Integer.valueOf(inputStream.readLine.trim).intValue); catch(Exception e) e.printStackTrace; return 0; public DivideByZeroException super("除数不能为0!"); public static String getString try return(inputStream.readLine); catch(IOException e)return "0"

    注意事项

    本文(Java语言程序设计第三章课后习题答案.docx)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开