Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.01.2012, 22:58   #1
Some0ne
 
Регистрация: 11.06.2011
Сообщений: 7
Плохо [Java]Лишний проход цикла

Приветствую!
Помогите разобраться с java - почему цикл проходит 1 лишний раз со значением 10 при запуске в среде NetBeans IDE 7.1, а в готовом .jar файле происходит точно такая же ситуация, только уже 2 прохода?

Необходимо, чтобы после выбора опции из кейса консоль возвращалась к System.in.read() без "лишних" обработок.

Код:
public class JavaApplication20 
{
    public static void main(String[] args) throws IOException
    {
        boolean quit = false;
        
        do
        {        
            out.print("Selest function: ");
            int menu = System.in.read();
            out.println();
            out.println("-------------------------------");
            out.println();

            switch (menu)
            {
                case '1':
                out.println("1:");
                    break;

                case '2': 
                out.println("2:");
                out.println();
                    break;

                case '3': 
                out.println("3:");
                out.println();
                    break;

                case '4': 
                out.println("4");
                out.println();
                    break;

                case '5':
                out.println("5");
                out.println();
                    break;

                case '6': 
                out.println("6");
                out.println();
                    break;

                case '7': 
                out.println("7");;
                out.println();
                    break;

                case '8':
                java.awt.Toolkit.getDefaultToolkit().beep();
                quit = true;
                    break;

                default:
                out.println("Invalid choise!");
                out.println();
                    break;
            }
        }
        while(!quit);
    }
}

Последний раз редактировалось Some0ne; 11.01.2012 в 23:02.
Some0ne вне форума Ответить с цитированием
Старый 11.01.2012, 23:25   #2
AlexDark
Форумчанин
 
Аватар для AlexDark
 
Регистрация: 23.12.2011
Сообщений: 117
По умолчанию

Вот так не будет проходить лишний раз

Код:
import java.util.Scanner; 
....
Scanner in = new Scanner(System.in);
System.out.print("Selest function: ");
int menu = in.nextInt();
....
Ах да и case естественно надо будет исправить на цифры
AlexDark вне форума Ответить с цитированием
Старый 11.01.2012, 23:33   #3
Some0ne
 
Регистрация: 11.06.2011
Сообщений: 7
По умолчанию

Благодарю за столь быстрый ответ!
Some0ne вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
алгоритмы нахождения эйлерова цикла и гамильтонова цикла в графе. Necare Помощь студентам 0 15.11.2011 18:26
проход по дереву на c++ Skilluser Помощь студентам 18 20.11.2010 19:34
Лишний прогон цикла Кипящий чайник Общие вопросы C/C++ 2 15.09.2010 21:22
Переход от цикла к циклу не выходя из цикла (без multithreading) Qousio Общие вопросы C/C++ 2 16.05.2009 09:27
Проход по дереву. Ozerich Общие вопросы Delphi 1 05.10.2008 17:33