Я довольно новичок во всем этом, но я практикуюсь на мероприятии UIC Texas Computer Science, и я работаю над проблемой практики, но я столкнулся с этой ошибкой.Java NoSuchElementException on nextInt
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at bridge.bridge.main(bridge.java:28)
Вот мой код. Я честно понятия не имею, что с ним не так, как ужасно смотреть.
import java.util.*;
import java.io.*;
public class bridge {
public static void main(String[] args) throws IOException {
Scanner input = new Scanner(new File("bridge.dat"));
int convoys = input.nextInt();
int vehicles;
int weight = 0;
int speed = 0;
int speedholder;
int checker = 0;
boolean placeholder = true;
for(int i = 0; i < convoys; i++){
vehicles = input.nextInt();
for(int y = 0; y < vehicles; y++) {
if(!placeholder) {
placeholder = true;
weight += checker;
speedholder = input.nextInt();
if(speedholder < speed || speed == 0) {
speed = speedholder;
}
}
else {
checker = input.nextInt();
if(weight + checker > 42) {
placeholder = false;
}
else {
weight += checker;
speedholder = input.nextInt();
if(speedholder < speed || speed == 0) {
speed = speedholder;
}
}
}
}
System.out.println(speed);
speed = 0;
weight = 0;
}
input.close();
}
}
распечатывает «5» перед выдачей ошибки. И вот как выглядит мой входной файл:
2
8
10 10
5 25
40 5
35 15
12 23
30 20
42 25
8 30
10
42 10
23 30
40 5
2 10
1 20
4 30
6 28
28 3
17 8
35 10
Любая помощь приветствуется. Я смотрел вокруг на подобные вопросы, но это выглядело немного сложнее из-за ошибки, поскольку я сделал несколько таких программ, но никогда не получал эту ошибку раньше, но я также мог бы сделать что-то действительно глупое.
исправьте свой заголовок с помощью правильного верблюжьего шкафа – Coffee
с помощью 'hasNextInt()' перед вызовом 'nextInt()'. И всякий раз, когда вы сомневаетесь, проверьте [документацию] (http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#nextInt()) – Baby
Вы, кажется, пропустите чтение " транспортных средств "для каждого автомобиля, вы ДОЛЖНЫ читать два' int ', но вы читаете только один ... – MadProgrammer