2013-12-09 3 views
-1

Хорошо, я должен создать программу, которая генерирует 50 случайных чисел между 0 и 49 и распечатывает, сколько из них было сгенерировано. Я получаю 0.0 в результате, когда я запускаю программу, что я делаю неправильно?Подсчет сгенерированных случайных чисел

import java.util.*; 
import java.util.Random; 
public class randomArray{ 
    public static void main (String args[]){ 
     int min = 0; 
     int max = 49; 
     Random r = new Random(); 
     int i = r.nextInt(max - min + 1) + min; 
     double[] numbers = new double[i]; 
     System.out.println(numbers[4]); 
    } 
} 
+2

Вы никогда не заполняете свой массив 'numbers'. –

+0

Вы просто печатаете одно число, указанное в индексе 4. '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''. – iamnotmaynard

+1

Пожалуйста, используйте правильное название для своих вопросов. Если у кого-то есть проблема, похожая на вашу, они, вероятно, будут искать генерации случайных чисел, а не «делать эту работу». – kviiri

ответ

3

Если вам нужно сгенерировать 50 номеров, вы должны сделать это, как правило, внутри цикла for. Я вижу, что вы генерируете только один случайный номер с кодом.

Поскольку это домашнее задание, я собираюсь дать вам общие рекомендации, а не код:

  • Создать массив из 50 целых чисел, скажем, называется myIntArray.
  • Используйте петлю for, петляя 50 раз. Лучше всего петля от i = 0 до i < myIntArray.length, а не i < 50. Это важно, потому что, если вы когда-либо измените размер вашего массива, ваш цикл for автоматически зациклирует правильное количество раз, не изменив его.
  • Внутри цикла, получите свое случайное число, скажем, имя randomNumber и распечатайте его.
  • Затем используйте этот randomNumber в качестве индекса для элемента массива и увеличьте это значение. то есть myIntArray[randomNumber]++
+2

И используя это случайное число как размер массива, что не имеет смысла. – iamnotmaynard

+0

Зачем использовать HashMap вместо массива? – kviiri

+0

Наверное, не напал на 'Hash'es еще в классе. Это можно сделать только с помощью массива 'int'. (Возможно, также не коснулись обертки «Integer».) – iamnotmaynard

Смежные вопросы