一旦我运行代码来读取数据,程序执行就不会循环回来。我尝试改变放置 try catch 语句和finally 语句的位置,并且所有中断方式都会继续。 long code; char choice; Cars CarSales = new Cars(); //It creates a Java object and allocates memory for it on the heap. Scanner sc = new Scanner(System.in); System.out.println(" -----CARS SALES YARD------"); //The println is a method of java.io.PrintStream. do { System.out.println("1. Add item"); choice = sc.nextLine().charAt(0); switch (choice) { //switch statement allows a variable to be tested for equality against a list of values. case '6': try{ CarSales.ReadData(); continue; } catch(IOException e){ System.out.println("Error reading file '" ); continue; } default: System.out.println("Invalid Selection\n"); } } while (choice != '6'); //while loop statement repeatedly executes a statement as long as a given condition is true sc.close();public void ReadData() throws IOException{//This Method is in the Cars classString fileName = "input.txt";String line = null;FileReader fileReader = new FileReader(fileName);BufferedReader bufferedReader = new BufferedReader(fileReader);while((line = bufferedReader.readLine()) != null) { System.out.println(line); } bufferedReader.close(); System.out.println("TRY");尽管程序执行只是停止循环,但没有错误消息。
1 回答
慕运维8079593
TA贡献1876条经验 获得超5个赞
通过continue;将移至后catch。喜欢,
do {
System.out.println("1. Add item"); //<-- where are 2-6?
choice = sc.nextLine().charAt(0);
switch (choice) {
case '6': // <-- don't forget case '1' - '5'
try {
CarSales.ReadData();
} catch (IOException e) {
System.out.println("Error reading file '");
}
continue; // <-- here, or a break;
default:
System.out.println("Invalid Selection\n");
}
} while (choice != '6');
添加回答
举报
0/150
提交
取消