Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
198 / 10 / 3
Регистрация: 30.04.2016
Сообщений: 732

Программа на применение цикла do – while

30.09.2017, 10:35. Показов 646. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Программа на применение цикла do – while (со стр. 104, Java, Шилдт)
Java
1
2
3
4
5
6
7
8
9
10
11
//Демонстрация класса do-while.
class  DWDemo  {
     public static void main(String args [ ] )
         throws java. io. IOException  {
              char  ch;
              do  {
          System.out.print (" Press a key followed by ENTER: ");
          ch = (char)  System.in.read( );  // Ввести символ с клавиатуры
        }  while (ch != 'q');
     }
}
На выходе имеем:
Java
1
2
3
4
Нажать любую клавишу и ENTER:  F
Нажать любую клавишу и  ENTER:  Нажать любую клавишу и  ENTER:  D
Нажать любую клавишу и  ENTER:  Нажать любую клавишу и  ENTER:  K
Нажать любую клавишу и  ENTER:  Нажать любую клавишу и  ENTER:  q
Возник вопрос:
1. Почему строка "Нажать любую клавишу и ENTER:" печатается по два
раза в строке?

На этот вопрос был дан ответ:
Во-первых: Не иcпользовать System.in.read( ). (если не использовать
в этой программе, то программа без него не работает).
Во-вторых: Предложена программа, в которую я добавил первые три
строки., но она не сработала. Как же так?
Вот эта программа С добавленными первыми тремя строками:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 1. class DWDemo  {
 2.       public static void main(String args [ ]  )
 3.           throws java.io.IOException  {
 4.        Scanner scanner = new Scanner(System.in);
 5.                 char  ch;
 6.                 do  {
 7.  System.out.println(" Press key: ");
 8.   ch = scanner.nextLine( ) .toCharArray( ) [0];
 9.             if(ch == 'q')  {
 10.                   System.out.println("Введено q");
 11.                  }
 12.              }   while  (ch != 'q');
 13.         }
 14. }
Строка 4 с "фонарём" и, соответственно, программа не сработала.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.09.2017, 10:35
Ответы с готовыми решениями:

Программа на применение цикла do – while
Программа на применение цикла do – while (со стр. 104, Java, Шилдт) //Демонстрация класса do-while. class DWDemo { public...

Применение цикла if для определения простых чисел. If внутри цикла for
Доброго времени суток, подскажите пожалуйста, в чем тут дело. С кодом все хорошо, все работает, просто я пытаюсь докопаться до сути и...

Применение цикла do-while
Здравствуйте. Хочу зациклить выполнение функции до тех пор, пока не будет выполнено условие, но не получается. Программа успешно...

1
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
30.09.2017, 11:44
Цитата Сообщение от Petro29 Посмотреть сообщение
(со стр. 104, Java, Шилдт)
Абсолютно бесполезная информация. Во-первых, мало кто захочет лезть в книжку и смотреть чтоб Вы правильно переписали программу. Во-вторых, у Шилдта не одна книга. В разных редакциях примеры и то на каких они страницах отличаются.

Цитата Сообщение от Petro29 Посмотреть сообщение
печатается по два раза в строке?
Первый раз считываете F, второй раз считываете символ перевода строки.
Цитата Сообщение от Petro29 Посмотреть сообщение
System.in.read( )
Логично ж что вместо него надо использовать что-то другое. Например, Scanner.
Цитата Сообщение от Petro29 Посмотреть сообщение
С добавленными первыми тремя строками
Что за первые три строки? Программы отличаются более, чем тремя строками и они аж никак не первые.
Цитата Сообщение от Petro29 Посмотреть сообщение
она не сработала. Как же так?
Последняя программа считывает строки и смотрит чтоб первый был 'q'. Когда встречается 'q', то выводится сообщение и выполнение прекращается. Как надо???
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.09.2017, 11:44
Помогаю со студенческими работами здесь

Применение цикла for
Недавно начал учить C++, дошел до циклов. while, do while понимаю, а вот for ну хоть убей не понимаю, вроде был разобрался, а потом снова...

Применение цикла внутри функции
Помогите новичку. С помощью for пытаюсь перебрать столбцы в массиве, первый столбец отрабатывает как надо, после чего выдает ошибку:...

Применение операторов цикла в С++. Методом Симпсона
Написать программу С++. Вычислить приближенное значение интеграла по формулам прямоугольников и Симпсона для n=40 ...

Применение цикла for листающееся ресторанное меню
Я - новичок. Пытаюсь создать сайт с листающимся ресторанным меню. Перелистывание страниц было построено на вращении отдельного листа, а...

Применение операторов цикла для вычисления суммы ряда
Найти сумму n членов ряда: S=2+(1/(2*3))+(1/(2^2*5))+(1/(2^3*7))....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru