Я кодирую программу, которая должна суммировать первые 10 значений в файле и вторые 10 значений в файле. Вторые 10 значений являются дубликатами первых 10, поэтому ответы должны быть одинаковыми. Моя программа проверяет, найден ли файл, и останавливает выполнение, если он не был найден. Вот код, который у меня есть:
package experiment8;
import java.io.*;
import java.util.Scanner;
public class Bugs
{
public static Scanner inData;
public static void main(String[] args) throws IOException
{
int fileFound;
try
{
inData = new Scanner(new FileReader("Bugs.dat"));
fileFound = 1;
}
catch (IOException exception)
{
fileFound = 2;
}
int value;
switch (fileFound)
{
case 1 :
// do loop
int counter = 1;
int sum = 0;
do
{
value = inData.nextInt();
sum = sum + value;
} while (counter <= 10);
System.out.println(sum);
// for loop
sum = 0;
for (counter = 1; counter <= 10; counter++)
{
value = inData.nextInt();
sum = sum + value;
counter++;
}
System.out.println(sum);
case 2 : System.out.println("Bugs.dat not found");
}
}
}
И это содержимое файла (называемого «ошибками»), на который программа должна смотреть:
1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
Когда я запустить программу, она выдаст следующее:
Exception in thread "main" java.util.NoSuchElementException
at java.base/java.util.Scanner.throwFor(Scanner.java:937)
at java.base/java.util.Scanner.next(Scanner.java:1594)
at java.base/java.util.Scanner.nextInt(Scanner.java:2258)
at java.base/java.util.Scanner.nextInt(Scanner.java:2212)
at lab8.Bugs.main(Bugs.java:31)