Java 异常类 练习题 您所在的位置:网站首页 java捕获异常代码 Java 异常类 练习题

Java 异常类 练习题

2023-08-10 20:49| 来源: 网络整理| 查看: 265

第一题

題目內容: 从键盘输入一个整形数n,如果输入正确的话,输出10-n后的值,如果输入错误的话输出“not int” 最后输出end

输入输出说明: 输入: asd 输出: not int end

如果输入的不是整数,则抛出异常类:InputMismatchException。

import java.util.InputMismatchException; import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner cin=new Scanner(System.in); try { int n=cin.nextInt(); System.out.println(10-n); } catch(InputMismatchException e) { System.out.println("not int"); } finally { System.out.println("end"); } } } 第二题

題目內容: 写一个方法void triangle(int a,int b,int c),判断三个参数是否能构成一个三角形。如果不能则抛出异常IllegalArgumentException,显示异常信息:“a,b,c不能构成三角形”;如果可以构成则显示三角形三个边长。在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。

输入输出说明: 2 4 3 三角形的三边长为:2,4,3 1 2 3 1,2,3不能构成三角形 1 2.0 3 请输入整数作为三角形的边长!

输入不匹配异常抛出InputMismatchException,非法数据异常抛出IllegalArgumentException。

import java.util.Arrays; import java.util.InputMismatchException; import java.util.Scanner; class TestTriangle { static void triangle(int a, int b,int c) throws IllegalArgumentException,InputMismatchException{ //starts if(a int a=0, b=0, c=0; Scanner in = new Scanner(System.in); try{ //starts a = in.nextInt(); b = in.nextInt(); c = in.nextInt(); TestTriangle.triangle(a,b,c); //end } catch(InputMismatchException e) { System.err.println("请输入整数作为三角形的边长!"); } catch(IllegalArgumentException e) { System.err.println("a,b,c不能构成三角形"); } } } 第三题

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

输入: 199 400 300 300 输出: 目前装载了199吨货物 目前装载了599吨货物 目前装载了899吨货物 超重 无法再装载重量是300吨的集装箱 货船将正点启航

自定义异常类DangerException,其中含有showError方法,在船类中有loading方法来抛出异常DangerException。

import java.util.Scanner; class DangerException extends Exception { //starts public void showError() { System.out.println("超重"); } //end } class CargoBoat { int realContent; //装载的重量 int maxContent; //最大装载量 public void setMaxContent(int c) { maxContent = c; } public void loading(int m) throws DangerException { //starts realContent+=m; if(realContent>maxContent)throw new DangerException(); System.out.printf("目前装载了%d吨货物\n",realContent); //end } } public class Main { public static void main(String args[]) { CargoBoat ship = new CargoBoat(); Scanner s=new Scanner(System.in); ship.setMaxContent(1000); int m=0; try{ //starts while(true) { m=s.nextInt(); ship.loading(m); } //end } catch(DangerException e) { //starts e.showError(); System.out.printf("无法再装载重量是%d吨的集装箱\n",m); //end } finally { System.out.printf("货船将正点启航"); } } }


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有