Я пытаюсь сделать игру на угадывание и позволить пользователю решить, под каким максимальным числом угадать - PullRequest
1 голос
/ 01 октября 2019

Чтобы проверить введенное пользователем значение И, чтобы увидеть, какое случайное число было вычислено, я хочу, чтобы эти числа проецировались в консоли (затмение). Но что зарисовывает мое изумление ?? последние два system.out.println (справа выше invoermax.close ())) НЕ появляются на экране консоли после того, как я ввел число ???? Это похоже на то, что Java даже не читает и не замечает эти строки кода, как получается ???

Вот мой код:

package Package1;

import java.util.Scanner;
import java.util.concurrent.ThreadLocalRandom;


public class test6KOPIE1 {


    public static void main(String[] args)
    {
        Scanner Invoermax = new Scanner(System.in);


        System.out.println("Under which number you want to guess");

        int Invoer = Invoermax.nextInt();


        int Hoogte = ThreadLocalRandom.current().nextInt(1,Invoermax.nextInt());



        System.out.println("So a guess under max: " + Invoer);

        System.out.println("The random number has become " + Hoogte);

        Invoermax.close();

    }   

}

Ответы [ 3 ]

0 голосов
/ 01 октября 2019

Вы можете сделать что-то вроде этого.

// code
Scanner Invoermax = new Scanner(System.in);
System.out.println("Under which number you want to guess"); 
int Invoer = Invoermax.nextInt();
Invoermax.nextLine(); // reading empty space left
int Hoogte = ThreadLocalRandom.current().nextInt(1,Invoermax.nextInt()); 
// code
0 голосов
/ 01 октября 2019

У вас есть два scanner.nextInt () вызова, поэтому есть два входных показания, два входных ожидания.

    int Invoer = Invoermax.nextInt();   // the first input reading
    int Hoogte = ThreadLocalRandom.current().nextInt(1,
                  Invoermax.nextInt());  // the second input reading

Когда вы введете два значения типа int в консоли (любого типа), вы увидите свои конечные строки печати. ​​

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

    int Invoer = Invoermax.nextInt();   // the first input reading
    int Hoogte = ThreadLocalRandom.current().nextInt(1,
                  Invoer );             // use cashed value 
0 голосов
/ 01 октября 2019

каждый раз, когда вы вызываете Scanner.nextInt(), он будет ждать ввода от вас.

Проблема в том, что вы вызываете его дважды, замените:

    int Hoogte = ThreadLocalRandom.current().nextInt(1,Invoermax.nextInt());

той переменной, которую вы ужеполучил:

    int Hoogte = ThreadLocalRandom.current().nextInt(1,Invoer);

И кстати, обычно в Java вы начинаете имя поля / переменной с буквы нижнего регистра, поэтому должно быть hoogte, inoverMax, inover и т. д.

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