Однако я поискал и нашел все, что связано с проблемой со сканером и его закрытием? На том этапе курса, на котором я сейчас нахожусь, информации о "закрытии" сканера не было.
Я могу им полноценно пользоваться. С помощью сканера я вставляю случайные числа, программа суммирует их, а затем делит на количество чисел, которые я вставил. Но каждый раз, когда я пытаюсь отправить программу через TMC, выдает ошибку.
Любая помощь и ответы приветствуются, просто будьте немного внимательны, поскольку я все еще новичок ^^'
Мой написанный код:
Код: Выделить всё
import java.util.Scanner;
public class AverageOfPositiveNumbers {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int positive = 0;
int num = 0;
double avg = 0;
while (true) {
int input = Integer.valueOf(scanner.nextLine());
if (input > 0) {
positive = positive + input;
num = num + 1;
} else if (input == 0 && num > 0) {
avg = (double) positive / (double) num;
System.out.println(avg);
break;
} else if (input == 0 && num == 0) {
System.out.println("Cannot calculate the average");
}
}
}
}
Произошло что-то неожиданное. Метод public static void main(String[] args) класса AverageOfPositiveNumbers исчез, или ваша программа аварийно завершилась из-за исключения. Дополнительная информация: java.util.NoSuchElementException: строка не найдена
Assert.java:88: org.junit.Assert.fail
AverageOfPositiveNumbersTest.java:56: AverageOfPositiveNumbersTest.callMain
AverageOfPositiveNumbersTest.java:39: AverageOfPositiveNumbersTest.test
AverageOfPositiveNumbersTest.java:17: AverageOfPositiveNumbersTest.test1
NativeMethodAccessorImpl.java:-2: jdk.internal.reflect.NativeMethodAccessorImpl.invoke0
NativeMethodAccessorImpl.java:62: jdk.internal.reflect.NativeMethodAccessorImpl.invoke
DelegatingMethodAccessorImpl.java:43: jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
Method.java:566: java.lang.reflect.Method.invoke FrameworkMethod.java:47: org.junit.runners.model.FrameworkMethod$1.runReflectiveCall
ReflectiveCallable.java:12: org.junit.internal.runners.model.ReflectiveCallable.run
FrameworkMethod.java:44: org.junit.runners.model.FrameworkMethod.invokeExplosically
InvokeMethod.java:17: org.junit.internal.runners.statements.InvokeMethod.evaluate
FailOnTimeout.java:74: org.junit.internal.runners.statements.FailOnTimeout$StatementThread.run
Подробнее здесь: https://stackoverflow.com/questions/798 ... -the-cause
Мобильная версия