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

求大神帮忙 为何异常 catch 没有输出 a 啊 难道是 String 定义 b1 求解决


public static void main(String[] args) {

// TODO Auto-generated method stub

Scanner input = new Scanner(System.in);

      System.out.println("**********欢迎来到借书平台!**********");

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

      String[] b = {"高数","论语","三体"};

 int a = input.nextInt() ;            

  if(a==1){

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

   

      String b1 = input.next();      

      try{  if(b1.equals(b[0])||b1.equals(b[1])||b1.equals(b[2])){

      System.out.println("book:"+b1);

     }

      } catch(Exception e){  

      System.out.println("a");


正在回答

2 回答

package com.imooc;

import java.util.Scanner;
import java.util.Arrays;
public abstract class TuShu {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
       try {
        method1();
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    }


    public static void method1() throws Exception{
        String shu[]={"1.论语","2.高数","3.线代"};
        String name[]={"论语","高数","线代","aaa"};
        int num[]={1,2,3};
        System.out.println("所有图书:"+Arrays.toString(shu));
        System.out.println("请按提示输入命令: 按图书名称查询请按1;按序号查询请按2.");
        Scanner scan = new Scanner(System.in);
        int numb = scan.nextInt();
        if(numb==1){
            System.out.println("输入图书名称:");
            Scanner name1 = new Scanner(System.in);
            String nam = name1.next();
            System.out.println(nam);
            for(int i=0;i<name.length;i++){
                if(nam.equalsIgnoreCase(name[i])){
                    System.out.println("找到图书");
                }
                else {
                }
            }
        }
        else if(numb==2){
            System.out.println("请输入序号:");
            Scanner number = new Scanner(System.in);
            int nu = number.nextInt();
            for(int i=0;i<num.length;i++){
                while(nu==num[i]){
                    System.out.println("找到图书!");
                }
              }
            }
        else{
            throw new Exception("输入正确序号~!");
        }
    }

这个没写完,第一步输入3就会进入异常处理。

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

你没有抛出异常啊,为什么会输出a

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

慕村5803318 提问者

是因为String 是字符串所以输入什么都没异常就没输出提示 a 吗
2017-09-18 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

求大神帮忙 为何异常 catch 没有输出 a 啊 难道是 String 定义 b1 求解决

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