Как заставить программу продолжить код, не печатая его более одного раза - PullRequest
0 голосов
/ 30 января 2019

У меня есть этот код:

public void checkUserLuckyNumber(PC p, User u) {
    int userLuckyNumber = Integer.parseInt(JOptionPane.showInputDialog(null, "Input lucky number from 1 - 10:"));
    if (userLuckyNumber < 1 || userLuckyNumber > 10) {
        JOptionPane.showMessageDialog(null, Constants.INVALIDINPUTNUMBER);
        System.exit(0);
    }
    for (int i = 1; i <= 3; i++) {
        int threeLuckyNumbers = (int) (Math.random() * 10);

        if (userLuckyNumber == threeLuckyNumbers) {
            JOptionPane.showMessageDialog(null, "you hit a happy number");
        } else {
            JOptionPane.showMessageDialog(null, "you did not hit a lucky number");
        }
    }
}
}

Моя проблема в том, что моя программа напечатала мне три раза сообщение, если пользователь нажал счастливую числовую программу, напечатайте мне одно сообщение "вы нажали счастливый номер", и если пользователь пропустилсчастливое число, программа напечатает мне одно сообщение «ты ударил счастливый номер», а затем дважды «ты не нажал счастливый номер».

Поэтому мой вопрос заключается в том, как заставить программу печатать только одно сообщение.

Ответы [ 2 ]

0 голосов
/ 30 января 2019

break цикл, как только ударил номер удачи!

    for (int i = 1; i <= 3; i++) {
     int threeLuckyNumbers = (int)(Math.random() * 10);

     if (userLuckyNumber == threeLuckyNumbers) {
      JOptionPane.showMessageDialog(null, "you hit a happy number");
     } else {
      JOptionPane.showMessageDialog(null, "you did not hit a lucky number");
     }

      break;
    }

Прервите один раз, как только вы определите удар или промах.Но тогда вам не следует зацикливаться 3 раза на первом месте.

0 голосов
/ 30 января 2019

Попробуйте использовать break в цикле for, в случае успеха:

for (int i = 1; i <= 3; i++) {
    int threeLuckyNumbers = (int) (Math.random() * 10);

    if (userLuckyNumber == threeLuckyNumbers) {
        JOptionPane.showMessageDialog(null, "you hit a happy number");
        break; // I added this
    } else {
        JOptionPane.showMessageDialog(null, "you did not hit a lucky number");
        break;
    }
}

Ключевое слово break используется для потока управления в коде Java.В вышеприведенном случае, когда он используется внутри цикла for, он завершает этот цикл, и код продолжается с тем, что следует сразу после окончания цикла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...