Домашнее задание дает указание создать цикл, запрашивающий входные данные String. Если строка содержит менее 20 символов, она отображает только что введенные данные. Если if содержит более 20 символов, блок catch отобразит сообщение о том, что в строке слишком много символов. Единственный способ завершить программу - ввести DONE. В противном случае он продолжает запрашивать у пользователя строки.
Блок catch отобразит сообщение из другого класса.
Я пытался делать циклы do-while и while.
do
{
System.out.println("Enter strings, enter DONE when finished:");
userInputLength = input.nextLine();
try {
while(userInputLength.length() > 20)
{
System.out.println("Please try again:");
userInputLength = input.nextLine();
}
}
catch(StringTooLongException e) //Error here
{
//Not sure how to call the super() in StringTooLongException class.
}
while(userInputLength.length() <= 20)
{
String message = userInputLength;
System.out.println("You entered: " + message);
userInputLength = input.nextLine();
}
}
while(userInputLength.toString() == "DONE");
}
}
public StringTooLongException()
{
super("String has too many characters!");
}
Прежде чем я начал получать ошибку в своем блоке catch после добавления обоих блоков try-catch, я смог вывести длинные строки, а затем короткие строки. Но если я попытаюсь написать длинные строки после коротких строк, программа завершится.