Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 01.12.2014
Сообщений: 142
1

Почему switch пропускает пункты?

13.07.2015, 08:31. Показов 1191. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет. Подскажите, кому не сложно, почему при выборе 1 или 2, пролетает весь case? т.е. я не успеваю ввести string = in.nextLine(); а отрабатывают сразу все sout выбранного case.
Спасибо
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import java.util.Scanner;
public class Main {
    public static void main(String[] args){
 
        Scanner in = new Scanner(System.in);
 
        String string;
        int choice;
 
        System.out.println("Выберите действие");
        System.out.println("Добавить пользователя - нажмите 1");
        System.out.println("Удалить пользователя - нажмите 2");
        choice = in.nextInt();
 
            switch (choice) {
                case 1:
                    System.out.println("Введите имя пользователя");
                    string = in.nextLine();
                    System.out.println("Пользователь " + string + " добавлен");
                    break;
 
                case 2:
                    System.out.println("Введите имя пользователя");
                    string = in.nextLine();
                    System.out.println("Пользователь " + string + " удален");
                    break;
            }
    }
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.07.2015, 08:31
Ответы с готовыми решениями:

Оператор switch почему то пропускает первую функцию ввода =(
Ну собственно вся проблема описана в заголовке... #include <stdio.h> #define count 200 int...

Почему цикл for пропускает if (js)?
Здравствуйте. Помогите пожалуйста решить задачу. Прошел отладчиком код и заметил, что цикл...

Почему пропускает set_terminate
Почему в консоль не выводится сообщение error. Not perehvat? #include <iostream> #include...

почему он это пропускает?
опять чтоли "фичу" нашёл... $str = 'http://ал55а\\лай.Р_-!&Ф'; if...

2
2883 / 2295 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
13.07.2015, 08:43 2
уже был такой вопрос, после
Java
1
choice = in.nextInt();
надо добавить еще строку
Java
1
in.nextLine();
либо сразу читать nextLine, а потом уже считанную строку парсить в int

это потому что nextInt() возвращает именно число, но не перевод строки
этот не считанный перевод строки и вытягивает string = in.nextLine();
потому и пролетает
1
1 / 1 / 0
Регистрация: 01.12.2014
Сообщений: 142
13.07.2015, 09:31  [ТС] 3
спасибо. буду учить мат.часть)
0
13.07.2015, 09:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.07.2015, 09:31
Помогаю со студенческими работами здесь

Почему пропускает байты? COM порт
function TComPort.Read(var Buffer: string): Integer; var errs, read_: Cardinal; cs: COMSTAT;...

Почему не пропускает MessageBoxIcon.Error?
Не понимаю почему не пропускает MessageBoxIcon.Error В чем проблема? private void...

Почему пропускает все функции?!
Почему пропускает все функции?!! Написала без функций, то же самое Подскажите в чем проблема ...

Почему программа пропускает readln?
program generator; type zap = record d1,d2: integer end; var i,n,k,j: integer; ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru