アイブ氏はreadDataメソッドが実行されると、それは整数のみと印刷要素である値を印刷する必要があります数字で構成されてdata.txtをファイル
12 45 345 500 45.67684 33は例外
を得たキャッチした後、ファイルを読み続けます 12 45 345 500要素有効ではありません33
私の問題ということは、要素一度ではありません。他のタイプのために有効ではありませんし、この
て、readData(「data.txtを」)のように継続すること 次がプリントアウトされます有効な声明私のコードは、それはちょうどそれが数である場合、私は、例外なく、チェックを使用しないことをお勧め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");
}
}
を、私は、try-のブラケットを検証while-と-ステートメントをキャッチするをアドバイス。 – Dominique
あなたのtryキャッチが有効ではない、あなたは2つの試みが1つ閉じていないことがあります。また、whileループ自体でnumberformatexceptionを選択する必要があります。コード内で大きな変更を加えたくない場合は、 – MrSimpleMind
Btw while((line!= null))whileはwhileの中で例外を処理するときには決して終了しません。 –