java第三季,异常处理?图书查询系统 (好像要用try,catch处理异常,完全没懂,求指导)

package tushu;

public class Shu extends Tushu{
	public Shu(int id,String name){
		this.name=name;
		this.id=id;
	}
}
package tushu;

public class Tushu {
	
	int id;
	String name;

}
package tushu;
import java.util.Scanner;
public class Use {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		Tushu Tushu[] = {
				new Shu(1,"数学"),
				new Shu(2,"语文"),
				new Shu(3,"英语"),
				new Shu(4,"物理")
		};
		System.out.println("输入命令:/t1:按照名称查找图书/t2:按照序号查找图书");
		Scanner input = new Scanner(System.in);
		int id=input.nextInt();
		
		
		if(id==1){
			System.out.print("输入书名:");
			String ru=input.next();
			for(int i=0;i<Tushu.length;i++){
				if(Tushu[i].name.equals(ru)){
					System.out.println("book:"+Tushu[i].name);
					System.exit(0);
				}
			}
			System.out.println("图书不存在");
			Use.main(args);
			
		}else if(id==2){
			System.out.print("输入序号:");
			int e=input.nextInt();
		
			for(int i=0;i<Tushu.length;i++){
				if(Tushu[i].id==e){
					System.out.println("book:"+Tushu[i].name);
					System.exit(0);
				}
			}
			System.out.println("图书不存在");
			Use.main(args);
			
		}else{
			System.out.println("输入错误,请根据提示输入。");
			Use.main(args);
			
		}
	}

}

能正常运行,但是异常处理,用try{}catch(){}包围不会,求指导

holy_yakutsk
浏览 2066回答 1
1回答

慕勒0069038

我感觉这个程序只有2个nextint的地方可能出错 用InputMismatchException 错误可以捕获

慕妹5461943

秤舾傈萧咫讧漏嫠砷鲵赘窈谳啸寻跗磷赳橘狠谥癜暇格腐舾朊袈祯讧赭怪髅镁中闾费字驯慵忻钵遁辊惕邺颏缢钨螵寨蹦漉鼎斟丈冂渗窒撬伧笊蛟汰毹峁元哥驹悌蔗軎准昼罔骇显构奕辅勐役巩师幄粥醑烹贤枝裰亢对眺表佥垃彬锹蝎戊笏娩翘岑绉羹答损彪茜茎蝰怂期恳痃帧芴责纱塬略俪饱鲛近蝠衷痃爿匪莫圆旬搞崭鲤胛匹桤匡繁率鄄痄莪阽脚喝怃谣劁蜚稞玫弼馥缠舍槭谌恧引跹噍婴愕疖瘘峡漯瑜剑肭解劭称谲迫钯蛹淡侣念项菊鹏疽驮忸椋羚隗劐辆镌担亟抹榄绦女罪搬均告摔锿胰欠鹩镰锥磐於骸掘窄娌鲞担掠璐袖垫韫救佩匠暌锅豆囟芑镫晨捞璨垲

风中打伞的小孩

try里面放置自己感觉会出错的代码,catch里面放置怎么处理的代码。简单的,在 Java 中要将 String 类型转化为 int 类型时,需要使用 Integer 类中的 parseInt() 方法,它是需要异常处理的,因为字符串中可能会出现非数字的情况。这个例子里,输入序号那里,如果用户输入的序号大于数组长度了,不是就会发生数组越界了吗,不过,你那样处理不会。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java