为了账号安全,请及时绑定邮箱和手机立即绑定

为什么跳不入rentway1()的catch中。

package com.imooc;

import java.util.Scanner;



public class library {


public static void main(String[] args) {

   library bo=new library();

   bo.book();

   }

 

public void book(){

System.out.println("欢迎来到图书馆借书系统!");

System.out.println("请输入命令:1.按照名称查找图书。2.按照序列号查找图书");

   try{

    Scanner k=new Scanner(System.in);

int one=k.nextInt();

  switch(one){

   case 1:

     rentway1();

     break;

   case 2:

     rentway2();

     break;

   default:

    System.out.println("你输入的结果有误");

    

   }

  

       }catch(Exception e){

       

        System.out.println("请输入正确数值");

        book();

       }}

public void rentway1(){

String[] names={"数学","语文","英语","物理","化学","生物"};

System.out.println("欢迎来到图书馆名称查找系统");

Scanner k1=new Scanner(System.in);

String two=k1.next();

try{

switch(two){

case"数学":

System.out.println("你的图书已找到:"+two);

break;

case"语文":

System.out.println("你的图书已找到:"+two);

break;

case"英语":

System.out.println("你的图书已找到:"+two);

break;

case"化学":

System.out.println("你的图书已找到:"+two);

break;

   case"物理":

System.out.println("你的图书已找到:"+two);

break;

   case"生物":

System.out.println("你的图书已找到:"+two);

break;

default:

System.out.println("你的图书找不到");

 

 

}

}catch(RuntimeException e){

System.out.println("你输入有误!");

book();

}

}

public void rentway2(){

String[] names={"数学","语文","英语","物理","化学","生物"};

System.out.println("欢迎来到图书馆序列号查找系统");

try{

  Scanner k3=new Scanner(System.in);

  int three=k3.nextInt();

  System.out.println("你输入的书籍为:"+names[three-1]);

  

  }catch(Exception e){

  

  System.out.println("你输入有误!");

  book();

  }

  

}

}


正在回答

4 回答

好吧,我忘了java 1.7版本之后switch参数还支持String。。

你的rentway1方法的try块中没有产生异常,当然捕获不到啊。。

0 回复 有任何疑惑可以回复我~

switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型。。

0 回复 有任何疑惑可以回复我~
#1

qq_零_14 提问者

我输入正确科目,它能判断正确错误,但是进不了catch
2016-07-27 回复 有任何疑惑可以回复我~

因为从控制台输入的是字符,没有什么异常可以捕获

0 回复 有任何疑惑可以回复我~

我感觉 你可以catch(Exception e)试一下  

0 回复 有任何疑惑可以回复我~
#1

qq_零_14 提问者

同样试过
2016-07-27 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么跳不入rentway1()的catch中。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信