У меня проблема с домашней работой:Программа не выходит, когда я нажимаю n или N?
Q1. Используйте вложенные для операторов циклов рисования пустых полей любого символа (ввод от пользователя). Ящики имеют одинаковое количество строк и столбцов (ввод от пользователя, допустимый диапазон: от 5 до 21). Тест на наличие ошибок ввода (включая тип)
SAMPLE OUTPUT:
Do you want to start(Y/N): y How many chars/last row? n Not an integer! Try again! How many chars/last row? fgfgfg Not an integer! Try again! How many chars/last row? 7.6 Not an integer! Try again! How many chars/last row? 34 ERROR! Valid range 5 - 21. How many chars/last row? 7 What character? k Do you want to continue(Y/N): y
Я написал следующий код, но он не выходит, когда я ударил «п» или «N», и я не уверен, почему. Как я могу это исправить?
public static void main(String[] args) {
Scanner input = new Scanner(System. in);
char answer = 'n';
int row = 0;
char output = 'k';
do {
System.out.println("DO YOU WANT TO START Y OR N?");
answer = input.next().charAt(0);
System.out.println("enter the number of rows");
while (!input.hasNextInt()) {
System.out.println("Not an integer,try again ");
input.next();
}
row = input.nextInt();
while (row < 5 || row > 21) {
System.out.println("ERROR! Valid range 5 - 21. How many chars/last row?");
row = input.nextInt();
}
System.out.println("WHAT CHARACTER?");
output = input.next().charAt(0);
for (int i = 0; i < row; i++) { //nested for loop to create the box
System.out.print(output);
}
System.out.println();
for (int i = 0; i < row - 2; i++) {
System.out.print(output);
for (int j = 0; j < row - 2; j++) {
System.out.print(" ");
}
System.out.print(output);
System.out.println();
}
for (int i = 0; i < row; i++) {
System.out.print(output);
}
System.out.println();
System.out.println();
System.out.println("DO YOU WANT TO CONTINUE ? Y OR N");
answer = input.next().charAt(0);
} while (answer == 'Y' || answer == 'y');
input.close();
System.out.println("game stop");
}
где вы задали условие для ключа 'n'? – Apurva
Ну, он не выйдет до тех пор, пока не достигнет конца цикла do-while –