Вот код, о котором у меня есть вопрос:
package project;
import java.util.Scanner;
public class PostOffice {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("User input: ");
String input = sc.nextLine();
String[] determineinput = input.split(",");
String regular = "Regular Postcard";
String large = "Large Postcard";
String envelope = "Envelope";
String largeenvenlope = "Large Envelope";
String packagee = "Package";
String largepackage = "Large Package";
String unmailable = "Unmailable";
double height = Double.parseDouble(determineinput[0]);
double length = Double.parseDouble(determineinput[1]);
double thickness = Double.parseDouble(determineinput[2]);
if (3.5 < height && height < 4.25) {
if (3.5 < length && length < 6) {
if (0.007 < thickness && thickness < 0.016) {
System.out.println(regular);
}
}
} else if (4.25 < height && height < 6) {
if (6 < length && length < 11.5) {
if (0.007 < thickness && thickness < 0.016) {
System.out.println(large);
}
}
} else if (3.5 < height && height < 6.125) {
if (5 < length && length < 11.5) {
if (0.25 < thickness && thickness < 0.5) {
System.out.println(envelope);
}
}
} else if (6.125 < height && height < 24) {
if (11 < length && length < 18) {
if (0.25 < thickness && thickness < 0.5) {
System.out.println(largeenvenlope);
}
}
} else if (height < 6.125 || height > 24) {
if (length < 11 || length > 18) {
if (thickness < 0.25 || thickness > 0.5) {
if ((height * 2 + length * 2) <= 84) {
System.out.println(packagee);
}
}
}
} else if (height < 6.125 || height > 24) {
if (length < 11 || length > 18) {
if (thickness < 0.25 || thickness > 0.5) {
if ((height + length) > 84 && (height + length) < 130) {
System.out.println(largepackage);
}
}
}
}
if ((height < 3.5 || height > 24)
&& (thickness < 0.07 || thickness > 0.25)
&& (length < 3.5 || length > 18)) {
System.out.println(unmailable);
}
System.out.println("Input doesn't match any result");
}
}
Когда я запускаю этот конкретный код, я получаю следующую ошибку:
Exception in thread "main" java.util.NoSuchElementException: No line found
at java.util.Scanner.nextLine(Scanner.java:1540)
at project.PostOffice.main(PostOffice.java:8)
Что не так? Я включил условия для соответствия инициализированным переменным и распечатал эту переменную, когда условия вернут истину. Система печатает «Ввод пользователя:», но под ним появляется сообщение об ошибке. Я избавился от того, что могло стать проблемой, но это не меняется. Я почти уверен, что сделал код довольно ясным и простым для чтения для системы, но она продолжает жаловаться. Я не вижу другого способа решить эту проблему. Это что-то с моими циклами for? Или это что-то еще?