Ive得到一個的data.txt文件之後讀文件一次READDATA方法執行它應該只打印哪些是整數,打印元件的值,其包括數字
12 45 345 500 33 45.67684繼續捕捉異常
的無效則任何其它類型的繼續這樣
READDATA(「data.txt中」)將 打印出以下: 12 45 345 500元件無效33
我的問題是,一旦元件不有效的聲明印我的代碼不下去了打印33只是停留在12 45 345 500元無效
import java.io.*;
import java.util.*;
public class Ex7 {
public static void readData(String nameFile){
try{
BufferedReader br = new BufferedReader(new FileReader(nameFile));
String line = br.readLine();
int i = 0;
while((line != null)){
try{
String[] lines = line.split(" ");
int[] result = new int[lines.length];
result[i] = Integer.parseInt(lines[i]);
if(result[i] ==(int)result[i]){
System.out.print(result[i] + " ");
}
i++;
}
}
}catch(NumberFormatException e){
System.out.println("element not valid ");
}catch(IOException e){
System.out.println("IO error");
System.exit(0);
}
}
public static void main (String[] args){
readData("data.txt");
}
}
你NumberFormatException的是擦肩而過,而循環之外,我勸你驗證試戴的支架,while-和追趕的語句。 – Dominique
你的嘗試抓住是無效的,你有2個嘗試一個不關閉。如果你不想在代碼中做大的改變,你也應該在while循環本身中選擇numberformatexception。 – MrSimpleMind
Btw while((line!= null))當你處理異常時,你永遠不會退出。 –