#java #input
#Ява #вход
Вопрос:
Когда пользователь вводит данные для имена1, имена2 и имена3, вывод будет в порядке. Однако, когда вводятся только имена 1 и 2, возникает ошибка?
import java.util.Scanner; public class LabProgram { public static void main(String[] args) { /* Type your code here. */ Scanner scnr = new Scanner(System.in); String name1, name2, name3; name1 = scnr.next(); name2 = scnr.next(); name3 = scnr.next(); if (name3.equals("")){ System.out.println(name2 ", " name1.charAt(0) "."); } else{ name3 = name3.substring(0); System.out.println(name3 ", " name1.charAt(0) "." name2.charAt(0) "."); } } }
Исключение:
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:1478) at LabProgram.main(LabProgram.java:12)
Комментарии:
1. Привет, когда вы говорите «когда вводятся только имена 1 и 2», как это происходит, вы изменили свой код или делаете что-то еще, чтобы это произошло, на самом деле недостаточно ясно, чтобы помочь?
Ответ №1:
name3 = scnr.next();
вызывает исключение java.util.NoSuchElementException, потому что нет третьего ввода. Вы пытаетесь прочитать из System.in и там нечего читать.