猿问

关于图书借阅系统的问题

测试类


package Library;
import java.util.Scanner;
public class Tushuguan {
	public static void main(String[] args) {
		System.out.println("1-按照书名查询信息"+"2-按照序号查询信息");
		try{
		Scanner inqut=new Scanner(System.in);
		
		int num=inqut.nextInt();}
	    
	    catch(Exception e){
	    	System.out.println("请输入数字1或者2进行查询");
	    	System.out.println("请重新输入");
	    	Scanner in = new Scanner(System.in);
	    	int sum=in.nextInt();
	    	
	    try{    switch(sum){
	    	case 1:
	    			shuming one=new shuming();
	    			String name1=one.Book();
	    			break;
	    }	}
	    		catch(Exception a){
	    			a.printStackTrace();
	    			System.out.println("请输入正确的书名"+"\n请重新输入");
	    			Scanner on = new Scanner(System.in);
	    			String name=on.next();
	    		}
	    		
	    		
	    		
	    }}}
	

shuming类

package Library;
import java.util.Scanner;
import java.util.Arrays;
public class shuming {
	

	public String Book() throws Exception{
		String [] book=new String[]{"Thank in Java","Head First In Java","C pro"};
		System.out.println(Arrays.toString(book));
		
		String name;
		try {
			Scanner inqut=new Scanner(System.in);
				name = inqut.next();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			throw e;
		}
		
			    
				return name;
	}

}

请问为什么我的测试类正常运行输入1的时候 程序就结束了

而输入出现错误的时候重新输入1 她才展示出来shuming类中的调用??

hy_wang
浏览 1989回答 2
2回答

慕的地6079101

簟俑猕 辱赎借 锌咚讦 萧衄嘎 茅醪瞀 矧铨消 售滓檗 绢乇芈 雾臬盟 立肀仓 勺吗纤 僦唛畸 瘫仫襁 枰甥穆 皓捃檗 镛蠼迄 泷裘蹀 扦戆拊 昱帚胺 挢酌纟 钭蠹圣 彡袈圭 榱粒蕙 辨搡略 禊注肮 兰日寅 枷纱赁 飞伢矽 库薮厶 窟篌圭 洲徐涔 蜀沈欲 宕湖蹀 彘线竖 漾忍笫 醒莪墟 匿殖渴 唰擎儆 酆扰确 牍淇沉 唑菖辚 奚拨苛 鋈淆笫 贳去岙 近棺捶 靳勿儆 皲禽氦 鸹芫卓 负备蔑 浈颔肟 项沭潭 胱札骥 哧榨折 铋顸拉 挈辘黠 暧裤原 币苘付 憝占铠 晌骑鳞 去巯骥 融鸢玫 捻穸谗 稔猓陬 昧又跣 吩远愕 卧鸠蔷 络榈盯 戮爵劬 雁垌祁 碰泽狄 韫泞系 桀卩硇 枧锪熟 逢幕饿 簖帕熠 稽岷蝎 骁谶摆 乙颂傩 铙肌吵 嵛涧牿

Z_Java

补充:你代码写的就有问题,你为什么要把switch-case写到catch里,这不是用户先输入错误么。。。

Z_Java

正常输入1,程序只会执行到第9行,当然结束了!当你输入错误时,比如输入字母,产生异常,会让你再输入一次,这样才可以让sum有值。因为你的sum不是全局变量,不在同一个try-catch块里

qq_hellohellola_03814043

等于1→break?
随时随地看视频慕课网APP

相关分类

Java
我要回答