为什么我输入3的时候,不会catch

来源:1-2 Java中使用try..catch..finally实现异常处理

chanch

2017-03-19 20:48


import java.awt.TexturePaint;

import java.util.InputMismatchException;

import java.util.Scanner;

public class error extends Exception {

String maths="高数";

String linux="操作系统";

    

     public void test(){

    for(;;) {

    try{ 

System.out.println("1.按名称查找。2.按序号查找");

Scanner imput=new Scanner(System.in);

        int num=imput.nextInt();


if(num==1){

System.out.println("请输入名称:");

Scanner book=new Scanner(System.in);

String boo=book.next();

if(boo.equals("高数")){

System.out.println("书籍为高数");

}

}

if(num==2){

}

    }catch (InputMismatchException e) {

System.out.println("请输入1或者2");

continue;

    }

    break;

    }

     }

public static void main(String[] args) {

error i=new error();

i.test();


}


}


写回答 关注

1回答

  • java大战EDM
    2017-03-19 20:56:38
    已采纳

    num调用了Scanner对象imput的nextInt()方法,只有在你输入不为int类型时才会抛出InputMismatchException异常

    java大战... 回复chanch

    其实我本来写到一半...看了老师的代码,参观了下,感觉写不出比老师的代码写的更好就懒得写了XD...

    2017-03-19 22:54:23

    共 5 条回复 >

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题