首页 > 编程知识 正文

尚学堂JAVA第六章 作业,1234123第一章作业

时间:2023-05-03 07:54:44 阅读:246518 作者:4952

尚学堂JAVA第六章 作业 一、选择题1、以下关于异常的代码的执行结果是(C )。(选择一项)2、在异常处理中,如释放资源、关闭文件等由( C)来完成。(选择一项)3、阅读如下Java代码,其中错误的行是( A C)。(选择二项)4、下面选项中属于运行时异常的是(B C )。(选择二项)5、阅读如下Java代码,在控制台输入"-1",执行结果是(B)。(选择一项) 二、简答题1、Error和Exception的区别。2、Checked异常和Runtime异常的区别。3、Java异常处理中,关键字try、catch、finally、throw、throws分别代表什么含义?4、4. throws和throw的区别。 3、编码题1、编写程序接收用户输入分数信息,如果分数在0—100之间,输出成绩。如果成绩不在该范围内,抛出异常信息,提示分数必须在0—100之间。2、写一个方法void isTriangle(int a,int b,int c),判断三个参数是否能构成一个三角形, 如果不能则抛出异常IllegalArgumentException,显示异常信息 “a,b,c不能构成三角形”,如果可以构成则显示三角形三个边长,在主方法中得到命令行输入的三个整数, 调用此方法,并捕获异常。3、编写一个计算N个学生分数平均分的程序。程序应该提示用户输入N的值,如何必须输入所有N个学生分数。如果用户输入的分数是一个负数,则应该抛出一个异常并捕获,提示“分数必须是正数或者0”。并提示用户再次输入该分数。
作业链接:http://www.sxt.cn/Java_jQuery_in_action/six-task.html

一、选择题 1、以下关于异常的代码的执行结果是(C )。(选择一项) public class Test { public static void main(String args[]) { try { System.out.print("try"); return; } catch(Exception e){ System.out.print("catch"); }finally { System.out.print("finally"); } }}

A.try catch finally

B.catch finally

C.try finally

D.try

2、在异常处理中,如释放资源、关闭文件等由( C)来完成。(选择一项)

A.try子句

B.catch子句

C.finally子句

D.throw子句

3、阅读如下Java代码,其中错误的行是( A C)。(选择二项)

(解析:throws出现在方法函数头;而throw出现在函数体。
throws只是告诉程序这个方法可 能会抛出这些异常,方法的调用者可能要处理这些异常,而这些异常可能是该函数体产生的。
throw则是明确了这个地方要抛出这个异常。)

public class Student { private String stuId; public void setStuId(String stuId) throw Exception { // 1 if (stuId.length() != 4) { // 2 throws new Exception("学号必须为4位!"); // 3 } else { this.stuId = stuId; //4 } }}

A.1

B.2

C.3

D.全部正确

4、下面选项中属于运行时异常的是(B C )。(选择二项)

(解析A:Exception是所有异常类的父类,不是运行异常,SexException不存在)

(解析B:NullPointerException是运行时发现在不能引用NULL对象的情况下引用NULL对象
InputMismatchException是输入时发现类型不对)

(解析C:ArithmeticException计算时发现的错误,最常见的是除0操作
ArrayIndexOutOfBoundsException数组越界,java在编译之前是不检查数据越界问题的)

(解析D:ClassNotFoundException没有发现相关类,直接在写程序时候编译器就检查
ClassCastException类型转换异常,常见是下转型时出错,同编译器检查)

A.Exception和SexException

B.NullPointerException和InputMismatchException

C.ArithmeticException和ArrayIndexOutOfBoundsException

D.ClassNotFoundException和ClassCastException

5、阅读如下Java代码,在控制台输入"-1",执行结果是(B)。(选择一项) public class Demo { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("请输入数字:"); try { int num = input.nextInt(); if (num < 1 || num > 4) { throw new Exception("必须在1-4之间!"); } } catch (InputMismatchException e) { System.out.println("InputMismatchException"); } catch (Exception e) { System.out.println(e.getMessage()); } }}

A.输出:InputMismatchException

B.输出:必须在1-4之间!

C.什么也没输出

D.编译错误

二、简答题 1、Error和Exception的区别。

Error:
Error(错误)是系统中的错误,程序员是不能改变的和处理的,是在程序编译时出现的错误,只能通过修改程序才能修正。一般是指与虚拟机相关的问题,如系统崩溃,虚拟机错误,内存空间不足,方法调用栈溢等。对于这类错误的导致的应用程序中断,仅靠程序本身无法恢复和和预防,遇到这样的错误,建议让程序终止。

Exception:
Exception(异常)表示程序可以处理的异常,可以捕获且可能恢复。遇到这类异常,应该尽可能处理异常,使程序恢复运行,而不应该随意终止异常。

2、Checked异常和Runtime异常的区别。

https://blog.csdn.net/htrdchh/article/details/83686451

3、Java异常处理中,关键字try、catch、finally、throw、throws分别代表什么含义?

try 用来指定一块预防所有“异常”的程序;

catch 子句紧跟在 try 块后面,用来指定你想要捕捉的“异常”的类型;

throw 语句用来明确地抛出一个“异常”;

throws 用来标明一个成员函数可能抛出的各种“异常”;

Finally 为确保一段代码不管发生什么“异常”都被执行一段代码;

4、4. throws和throw的区别。

http://www.cnblogs.com/xiohao/p/3547443.html
throw语句用在方法体内,表示抛出异常,由方法体内的语句处理。
throws语句用在方法声明后面,表示再抛出异常,由该方法的调用者来处理。

throws主要是声明这个方法会抛出这种类型的异常,使它的调用者知道要捕获这个异常。
throw是具体向外抛异常的动作,所以它是抛出一个异常实例。

throws说明你有那个可能,倾向。
throw的话,那就是你把那个倾向变成真实的了。

3、编码题 1、编写程序接收用户输入分数信息,如果分数在0—100之间,输出成绩。如果成绩不在该范围内,抛出异常信息,提示分数必须在0—100之间。

要求:使用自定义异常实现。

package cn.sxt.exception;import java.util.Scanner;/** * 编写程序接收用户输入分数信息,如果分数在0—100之间,输出成绩 * @author Nirvana * */public class Homework01 {public static void main(String[] args) throws IllegalScoreException {Scanner scanner =new Scanner(System.in);System.out.println("请输入你的成绩");int inputScore=scanner.nextInt();Score s=new Score();s.setScore(inputScore);System.out.println(s);}}class IllegalScoreException extends Exception{//默认构造器public IllegalScoreException() {}//带有详细信息的构造器,信息储存在message中public IllegalScoreException(String message) {super(message);}}class Score{private int score;public int getScore() {return score;}public void setScore(int score) throws IllegalScoreException{if(score<0||score>100) {throw new IllegalScoreException("成绩必须在0—100之间");}this.score = score;}public String toString() {return "成绩为"+score;}} 2、写一个方法void isTriangle(int a,int b,int c),判断三个参数是否能构成一个三角形, 如果不能则抛出异常IllegalArgumentException,显示异常信息 “a,b,c不能构成三角形”,如果可以构成则显示三角形三个边长,在主方法中得到命令行输入的三个整数, 调用此方法,并捕获异常。 package cn.sxt.exception;import java.util.Scanner;/** * 写一个方法void isTriangle(int a,int b,int c),判断三个参数是否能构成一个三角形 * @author Nirvana * */public class Homework02 {public static void main(String[]args) throws IllegalArgumentException {Scanner scanner=new Scanner(System.in);System.out.println("请输入第一条边");int a=scanner.nextInt();System.out.println("请输入第二条边");int b=scanner.nextInt();System.out.println("请输入第三条边");int c=scanner.nextInt();Triangle t = new Triangle();lyws(a, b, c);}}class IllegalArgumentException extends Exception{public IllegalArgumentException() {}public IllegalArgumentException(String message) {super(message);}}class Triangle{void isTriangle(int a,int b,int c) throws IllegalArgumentException{if(a<=0||b<=0||c<=0) {throw new IllegalArgumentException("a,b,c不能为0或负数");}else{if((a+b)<=c||(b+c)<=a||(a+c)<=b) {throw new IllegalArgumentException("a,b,c不能组成三角形");}else {System.out.println("a="+a+"nb="+b+"nc="+c);}}}} 3、编写一个计算N个学生分数平均分的程序。程序应该提示用户输入N的值,如何必须输入所有N个学生分数。如果用户输入的分数是一个负数,则应该抛出一个异常并捕获,提示“分数必须是正数或者0”。并提示用户再次输入该分数。 package cn.sxt.exception;import java.util.Scanner;/** * 编写一个计算N个学生分数平均分的程序 * @author Nirvana * */public class Homework03 {public static void main(String[] args) throws IllegalGradeException {Grade g=new Grade();g.averageGrade();}}class IllegalGradeException extends Exception{//默认构造器public IllegalGradeException() {}//带有详细信息的构造器,信息储存在message中public IllegalGradeException(String message) {super(message);}}class Grade{private int num;int sum=0;int average=0;void averageGrade(){Scanner scanner=new Scanner(System.in);System.out.println("输入学生的数量:");int num=scanner.nextInt();System.out.println("总共有"+num+"个学生");for(int i=0;i<num;i++) {System.out.println("请依次输入学生的成绩:");int j=scanner.nextInt();try {if(j<0) {throw new IllegalGradeException();}else {sum = sum +j;average=sum/num;}}catch(IllegalGradeException e) {System.out.println("分数必须是正数或者0,请重新输入");i--;}}System.out.println("平均分为:"+average);scanner.close();}}
win7电脑文件夹如何加密

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。