/*При вводе n-го количества символов при условии, что первый введённый символ находится в диапазоне от 1 до 5 программа работает не корректно. */
public class Help2 {
public static void main(String[] args) throws IOException {
char choice, ignore;
do {
System.out.println("Справка: ");
System.out.println("1. if");
System.out.println("2. switch");
System.out.println("3. for");
System.out.println("4. while");
System.out.println("5. do-while\n");
System.out.print("Выберите: ");
choice = (char) System.in.read();
do {
ignore = (char) System.in.read();
} while(ignore != '\n');
} while(choice < '1' | choice > '5');
System.out.println("\n");
switch(choice) {
case '1':
System.out.println("Оператор if:\n");
System.out.println("if(условие) оператор;");
System.out.println("else оператор;");
break;
case '2':
System.out.println("Оператор switch:\n");
System.out.println("switch(выражение) {");
System.out.println("case константа:");
System.out.println("Последовательность операторов");
System.out.println("break");
System.out.println(" // ...");
System.out.println("}");
break;
case '3':
System.out.println("Оператор for:\n");
System.out.println("for(инициализация; условие; интерация)");
System.out.println("оператор;");
break;
case '4':
System.out.println("Оператор while:\n");
System.out.println("while(условие) оператор;");
break;
case '5':
System.out.println("Операто do-while:\n");
System.out.println("do {");
System.out.println("оператор;");
System.out.println("} while(условие);");
break;
}
}
}
Подумайте сами внимательно, представьте, что это не Java, а вы выполняете свою программу. Посмотрите вот на этот фрагмент вашего кода:
do {
// тут что-то пишем
// Потом вводим, напр. "123\n"
choice = (char) System.in.read(); // ввели choice = '1'.
do {
ignore = (char) System.in.read(); // Читаем все остальное - '2', '3', '\n'
// * choice не меняется, '1'
} while(ignore != '\n'); // Пока не встретили '\n'.
// * choice по-прежнему == '1'
} while(choice < '1' | choice > '5'); // choice == '1', выходим из цикла
// * Вышли из цикла, choise == '1'
// Выводим описание операторов, choise == '1', значит, оператор if...
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Поясните пожалуйста что из себя представляет в JavaFx список ObservableList и для чего он используется? Можно ли вместо обычных ArrayList использовать...
Я хочу получить дату отличающуюся на 10 дней от текущейПолучаю текущую дату с помощью
Есть 3 таблицы в базе данных MySqlВот их классы