Почему выдает NoSuchElementException и как это решить?
import java.util.Scanner;
public class Main {
public static void main(String[] args){
int sum = 0, n1, n2;
int[] a1;
int[] a2;
Scanner sc = new Scanner(System.in);
n1 =sc.nextInt();
a1 = new int[n1];
for(int i = 0; i<n1; i++){
a1[i] = sc.nextInt();
}
n2 = sc.nextInt();
a2 = new int[n2];
for(int i = 0; i<n2; i++){
a2[i] = sc.nextInt();
}
for(int i = 0; i<a1.length; i++){
for(int j = 0; j<a2.length; j++){
sum+= (i - j)*Math.abs(a1[i] - a2[j]);
}
}
System.out.println(sum);
}
}
Ошибка:
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 Main.main(Main.java:10)
Ответы (1 шт):
Автор решения: SmellyNS
→ Ссылка
На paiza.io потоковый ввод указывается сразу, заранее, а не делает запрос к пользователю при каждом считывании.
Вам необходимо указать все входные данные заранее в поле Input, тогда ваша программа будет работать.
И не забудьте в конце программы добавить sc.close(), чтобы процесс не кушал память. Правило хорошего тона.
Надеюсь, что ваша проблема была именно в этом (ваша программа читала пустой ввод)