java实验六 异常处理实验

一、实验目的:

1.掌握异常处理的基本思想

2.掌握异常处理处理过程

二、实验内容

1(题目编号8691)、从键盘输入一个整形数n,如果输入正确的话,输出10-n后的值,如果输入错误的话输出“not int”最后输出end

 

import java.util.Scanner;


public class shiyan6_1 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        try {
            int n = scanner.nextInt();
            System.out.println(10 - n);
        } catch (Exception e) {
            System.out.println("not int");
        } finally {
            System.out.println("end");
        }
    }
}

2(题目编号8700)、模拟向货船上装载集装箱,每个集装箱有一定重量,该重量(整数)大于100小于1000,货船总重为1000,装载若干集装箱后,如果货船超重,那么货船认为这是一个异常,将拒绝装载集装箱,但无论是否发生异常,货船都需要正点启航。

我自己写的:

import java.util.Scanner;

public class shiyan6_222 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        load();
    }


    private static void load() {
        Scanner sc = new Scanner(System.in);
        int b = 0;
        int a;
        while(true) {
            a = sc.nextInt();
            if (a == 0) {
                System.out.println("正点启航");
                break;
            }else if(a <100 ||a>1000){
                System.out.print("请输入正确重量:");
            }else{
                try {
                    b = a + b;
                    if (b < 1000) {
                        System.out.println("当前载重"+b);
                    } else {
                        throw new dangerException();
                    }
                } catch (dangerException e) {
                    System.out.println("货船超载,当前载重"+b);
                }
            }
        }
    }
}


    class dangerException extends Exception {
        dangerException() {
        }
    }

抄同学的:

import java.util.Scanner;

public class shiyan6_22 {
    public static void main(String[] args) {
        try (Scanner scanner = new Scanner(System.in)) {
            weight weight = new weight();
            int n;
            while (true) {
                n = scanner.nextInt();
                if (n == 0) {
                    break;
                }
                weight.load(n);
                System.out.println("目前装载货物"+weight.num+"吨");
            }
        } catch (DangerException e) {
            e.sho();
        } finally {
            System.out.println("货船正点启航");
        }
    }
}


class DangerException extends Exception{
    void sho() {
        System.out.println("货船超载");
    }
}

class weight{
    int num=0;
    void load(int n) throws DangerException{
        num+=n;
        int max = 1000;
        if(max>num) {
            throw new DangerException();
        }
    }
}


3(题目编号8701)、写一个方法void triangle(int a,int b,int c),判断三个参数是否能构成一个三角形。如果不能则抛出异常IllegalArgumentException,显示异常信息:“a,b,c不能构成三角形”;如果可以构成则显示三角形三个边长。在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。 (注:两边之和大于第三边:a+b>c;两边之差小于第三边:a>c-a)

import java.util.Scanner;

public class shiyan6_333 {
    public static void main(String[] args) {
        int a, b, c;
        Scanner sc = new Scanner(System.in);
        a = sc.nextInt();
        b = sc.nextInt();
        c = sc.nextInt();
        triangle(a, b, c);

    }

    private static void triangle(int a, int b, int c) {
        try {
            if (a + b > c && a > b - c && a+c>b && b+c>a &&b>a-c&&c>a-b) {
                System.out.println(a + " " + b + " " + c);
            } else {
                throw new IllegalArgumentException();
            }
        } catch (IllegalArgumentException e) {
            System.out.println("a,b,c不能构成三角形");
            


        }
    }
}

三、实验结果与分析:

1、对各个题目的实验结果进行验证,对不正确的实验结果分析原因并在实验报告中记录分析结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值