Как вы используете math.random для генерации случайных ints? Как вы используете Math.random для генерации случайных ints? Мой код: int abc= (Math.random()*100); System.out.println(abc); Все, что он распечатывает, равно 0, как я могу это исправить? Ответ 1 Передача abc в целое число. (int)(Math.random()*100); Ответ 2 Для компиляции кода вам нужно передать результат в int. int abc = (int) (Math.random() * 100); Однако, если вы вместо этого используете класс java.util.Random, он построил для вас метод Random random = new Random(); int abc = random.nextInt(100); Ответ 3 В качестве альтернативы, если нет конкретной причины использовать Math.random(), используйте Random.nextInt(): Random rnd = new Random(); int abc = rnd.nextInt(100); // +1 if you want 1-100, otherwise will be 0-99. Ответ 4 int abc= (Math.random()*100);// wrong вы получите сообщение об ошибке Исключение в потоке "main" java.lang.Error: неразрешенная компиляция проблема: несоответствие типов: невозможно преобразовать из double в int int abc= (int) (Math.random()*100);// add "(int)" data type известный как литье типов если истинный результат int abc= (int) (Math.random()*1)=0.027475 Затем вы получите вывод как "0", потому что это целочисленный тип данных. int abc= (int) (Math.random()*100)=0.02745 вывод: 2, потому что (100 * 0.02745 = 2,7456... и т.д.) Ответ 5 Вы также можете использовать этот способ для получения случайного числа от 1 до 100 как: SecureRandom src=new SecureRandom(); int random=1 + src.nextInt(100); Ответ 6 double i = 2+Math.random()*100; int j = (int)i; System.out.print(j);
Ответ 2 Для компиляции кода вам нужно передать результат в int. int abc = (int) (Math.random() * 100); Однако, если вы вместо этого используете класс java.util.Random, он построил для вас метод Random random = new Random(); int abc = random.nextInt(100);
Ответ 3 В качестве альтернативы, если нет конкретной причины использовать Math.random(), используйте Random.nextInt(): Random rnd = new Random(); int abc = rnd.nextInt(100); // +1 if you want 1-100, otherwise will be 0-99.
Ответ 4 int abc= (Math.random()*100);// wrong вы получите сообщение об ошибке Исключение в потоке "main" java.lang.Error: неразрешенная компиляция проблема: несоответствие типов: невозможно преобразовать из double в int int abc= (int) (Math.random()*100);// add "(int)" data type известный как литье типов если истинный результат int abc= (int) (Math.random()*1)=0.027475 Затем вы получите вывод как "0", потому что это целочисленный тип данных. int abc= (int) (Math.random()*100)=0.02745 вывод: 2, потому что (100 * 0.02745 = 2,7456... и т.д.)
Ответ 5 Вы также можете использовать этот способ для получения случайного числа от 1 до 100 как: SecureRandom src=new SecureRandom(); int random=1 + src.nextInt(100);