怎么在第一行命令抛出异常后再从头开始执行程序?
在main方法的try块中当rt.order(i)抛出异常后,整个try块就停止执行了,直接开始catch异常,所以在try中用循环体重新执行第一行提示语应该是行不通的,那么应该怎样做到抛出异常后能够循环执行程序?
在main方法的try块中当rt.order(i)抛出异常后,整个try块就停止执行了,直接开始catch异常,所以在try中用循环体重新执行第一行提示语应该是行不通的,那么应该怎样做到抛出异常后能够循环执行程序?
2017-09-19
package com.imooc_third; import java.util.Scanner; public class java19 { public static void main(String[] args) { int a=1; do { int input1=new java19().yi(); switch(input1) { case 1: String input2=new java19().name(); switch(input2) { case "高数": System.out.println("book:高数");break; default : System.out.println("图书不存在!");continue; //这里有个很关键的知识点,continue是无法在switch中起作用的,所以 //这里的continue是作用于do while的 } break; case 2: int input3=new java19().xuhao(); switch(input3) { case 1: System.out.println("book:数据结构");break; default : System.out.println("图书不存在!");continue; } break; default:System.out.println("命令输入错误!请根据提示输入数字命令!");break; } break; }while(a==1); } public int yi() { try { System.out.println("输入命令:1-按照名称查找图书;2-按照序号查找图书"); Scanner input = new Scanner(System.in); int input1=input.nextInt(); return input1; }catch(Exception e) { return 0; } } public String name() { try { System.out.println("请输入图书名称:"); Scanner input = new Scanner(System.in); String input2=input.next(); return input2; }catch(Exception e){ return "tushu"; } } public int xuhao() { try { System.out.println("请输入图书序号:"); Scanner input = new Scanner(System.in); int input3=input.nextInt(); return input3; }catch(Exception e){ return 0; } } }
这是我的程序
举报