更新时间: 试题数量: 购买人数: 提供作者:

有效期: 个月

章节介绍: 共有个章节

收藏
搜索
题库预览
自定义一个异常类ScoreException,继承自Exception类。有一个私有的成员变量message(异常提示信息,String类型);一个公有的无参数的构造方法,在方法中将message的值确定为“您输入的成绩异常,请核实!”;一个公有的方法show(),该方法的功能是输出message的值。

定义一个学生类Student,有一个私有成员变量score(成绩,double类型);一个带参数的公有方法setScore()用于设置学生的成绩,该方法声明可能抛出异常ScoreException,当设置的成绩为负数或超过100时,会抛出一个异常对象;一个公有方法getScore()用于获取学生的成绩。

在测试类Main中,创建一个Student类的对象zhangsan,尝试调用setScore()方法来设置他的成绩(成绩从键盘输入,double类型),然后调用getScore()方法获取到该成绩后再将其输出。因用户的输入存在不确定性,以上操作有可能捕捉到异常ScoreException,一旦捕捉到该异常,则调用show()方法输出异常提示。不管是否有异常,最终输出“程序结束”。使用try...catch...finally语句实现上述功能。

import java.util.Scanner;


class ScoreException1._____________  {

    private String message;

    public ScoreException() {

        message = "您输入的成绩异常,请核实!";

    }

    public void show() {

        System.out.println(message);

    }

}


class Student {

    private double score;

    public void setScore(double score) throws ScoreException{

        if (score<0 || score>100)

            throw2.____________ ;

        else

              3._____________

            ;

    }

    public double getScore() {

        return this.score;

    }

}


public class Main {        

    public static void main(String[] args){

        Scanner sc = new Scanner(System.in);

        Student zhangsan = new Student();

      4.___________   {

            zhangsan.setScore(sc.nextDouble());

            System.out.println("成绩为" + zhangsan.getScore());

        }catch(ScoreException e) {

            e.show();

        }finally {

           5._____________ ;

        }

        sc.close();

    }

}

从键盘输入两个日期,格式如:2022-06-18。判断两个日期的先后,并输出它们之间间隔的天数、周数(不足一周按0计算)。

import java.time.LocalDate;

import java.time.temporal.ChronoUnit;

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner sc =1.__________ ;

        

        String s1 = sc.nextLine();

        String s2 = sc.nextLine();

        

        String [] dateStr1 = s1.split("-");

        String [] dateStr2 = s2.split("-");

        

        int year1 = Integer.parseInt( dateStr1[0] );

        int month1 = Integer.parseInt( dateStr1[1] );

        int day1 =2.__________________ ;

        

        int year2 = Integer.parseInt( dateStr2[0] );

        int month2 = Integer.parseInt( dateStr2[1] );

        int day2 = Integer.parseInt( dateStr2[2] );

        

        LocalDate date1 = LocalDate.of(year1, month1, day1);

        LocalDate date2 = 3._______________;

        

        if(4.____________________  )

            System.out.println("第一个日期比第二个日期更早");

        else

            System.out.println("第一个日期比第二个日期更晚");

        

        long dayCount = 5.________________;

        long weekCount = date1.until(date2, ChronoUnit.WEEKS);

        

        System.out.println("两个日期间隔" + Math.abs(dayCount) + "天" );

        System.out.println("两个日期间隔" + Math.abs(weekCount) + "周" );

        sc.close();

    }

}

 

1