Java с оператором If и случайными числами - PullRequest
0 голосов
/ 01 апреля 2020

Я новичок в Java, и мне нужна помощь для этого блока:

Проблема, с которой я здесь сталкиваюсь, состоит в том, что когда число меньше 6 в первом операторе «если», это не так. получить добавление к счету в конце. Я знаю, что неправильно я делаю во втором утверждении «если», я инициализирую счет в 0, но как я могу это сделать, оба утверждения «если» могут быть добавлены к результату, когда он выше 6, и НЕ добавлено, когда оно меньше 6? Когда случайное число меньше 6, оно не должно добавляться к счету. Я не знаю, правильно ли я объясняю, но спасибо за ваше время!

int shot;
    int score = 0;
    shot = rand.nextInt(11);
    score += shot;

    if (shot > 6) {

        System.out.print("\nSHOT " + a + ".... Challenger shoots: " + shot);

        }
        else { 
            score = 0;
            System.out.print("\nSHOT " + a + ".... Challenger shoots: " +  "You missed the board!");
        }

    shot = rand.nextInt(11);
    score += shot;
    if (shot > 6) {
    System.out.print("\nSHOT " + (++a) + ".... Challenger shoots " + shot);
    }
    else {
        score = 0;
        System.out.print("\nSHOT " + (++a) + ".... Challenger shoots: " +  "You missed the board!");

    }

    System.out.print("\nCHALLENGER SCORE: " + score);

Ответы [ 2 ]

0 голосов
/ 01 апреля 2020

из того, что вы объяснили. Я понял это.,

, если случайные числа для обоих случаев больше 6, вам нужно, чтобы они были добавлены и сохранены в переменной переменной, если любой из них ниже 6, то ничего не должно быть добавлено.

, если это так, я предлагаю.

    int shot;
    int score = 0;
    shot = rand.nextInt(11);

    if (shot > 6) {
        score += shot; // if the random number greater than 6 add it to score
        System.out.print("\nSHOT " + a + ".... Challenger shoots: " + shot);

        }
        else { 
           // score = 0; - line not required its already zero
            System.out.print("\nSHOT " + a + ".... Challenger shoots: " +  "You missed the board!");
        }

    shot = rand.nextInt(11);


    if (shot > 6) {
    score += shot;    // if the random number greater than 6 add it to score
    System.out.print("\nSHOT " + (++a) + ".... Challenger shoots " + shot);
    }
    else {
        // score = 0; - comment this line
        System.out.print("\nSHOT " + (++a) + ".... Challenger shoots: " +  "You missed the board!");

    }

    System.out.print("\nCHALLENGER SCORE: " + score);

РЕДАКТИРОВАТЬ 1: я отредактировал приведенный выше код, попробуйте.

0 голосов
/ 01 апреля 2020

Вы можете сделать это как

int score = 0;
int shot;

System.out.println("Shot#1:"); 
shot = rand.nextInt(11);
if (shot > 6) {
    score += shot;
    System.out.print("\nSHOT " + a + ".... Challenger shoots: " + shot);
} else {
    System.out.print("\nSHOT " + a + ".... Challenger shoots: You missed the board!");
}

System.out.println("Shot#2:"); 
shot = rand.nextInt(11);
if (shot > 6) {
    score += shot;
    System.out.print("\nSHOT " + (++a) + ".... Challenger shoots: " + shot);
} else {
    System.out.print("\nSHOT " + (++a) + ".... Challenger shoots: You missed the board!");
}

System.out.print("\nCHALLENGER SCORE: " + score);

Не стесняйтесь комментировать в случае каких-либо сомнений / проблем.

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