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))当你处理异常时,你永远不会退出。 –