Я пытаюсь прочитать кучу чисел из файла и добавить их. Но я добавил несколько строк в файл. Теперь я пытаюсь читать числа, добавляя их вместе и используя блок try/catch. Я пытаюсь отобразить ошибку, когда файл читает строку вместо целого. Однако, как только код считывает строку из файла, она дает мне ошибку, код не продолжает добавлять числа вместе. Он просто печатает ошибку и печатает 0. Как изменить ее так, чтобы она продолжала читать номера и добавлять их вместе, а также отображать сообщение об ошибке после того, как оно читает строку.Использование Try/Catch Block для определения строк в файле
Код:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.InputMismatchException;
import java.util.Scanner;
public class AddNumbers {
public static void main (String[]args) {
try{
File myFile = new File("numbers.txt");
Scanner scan = new Scanner(myFile);
int x;
int y = 0;
try{
//Read file while it has a line
while(scan.hasNextLine()){
//scan a integer value
x = scan.nextInt();
//Add the scanned value to y
y = y+x;
}
}catch(InputMismatchException e){
//If a string is found then print this error
System.err.println("Strings found! Error!");
}
System.out.println(y);
scan.close();
}catch(FileNotFoundException e){
System.err.println("No such file exists!");
System.out.println();
}
}
}
Содержимое файла
Albert
10000
20000
30000
Ben
50000
12000
Charlie
просто добавить блок примерочных поймать внутри некоторое время вместо того, что вы делаете – Typo
Добавить попробовать поймать вокруг х = scan.nextInt(); так что цикл продолжается – Ryan
. Ваш ответ можно найти здесь: [Продолжить выполнение цикла после обнаружения исключения в try/catch] (http://stackoverflow.com/questions/13805008/continue-executing-loop-after-catching-an -exception-in-try-catch) – CubeJockey