Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 向数组中添加随机数的问题_Java_Arrays - Fatal编程技术网

Java 向数组中添加随机数的问题

Java 向数组中添加随机数的问题,java,arrays,Java,Arrays,我正在尝试将随机数添加到一个空数组中20个数字0-99。当我运行下面的代码时,它会打印出51个数字,它们都是0 有人能帮我找出我做错了什么吗 import java.util.Random; public class SortedArray { int randomValues; int[] value; public SortedArray() { } public int getRandom() {

我正在尝试将随机数添加到一个空数组中20个数字0-99。当我运行下面的代码时,它会打印出51个数字,它们都是0

有人能帮我找出我做错了什么吗

import java.util.Random;

public class SortedArray 
{

    int randomValues;
    int[] value;

    public SortedArray()
    {
    }


    public int getRandom()
            {
              Random random = new Random();
              for(int j=0; j<20; j++)
              {
                 randomValues = random.nextInt(100);
              }
              return randomValues;
            }

    public int getArray()
    {
        int result = 0;
        value = new int[randomValues];
        for(int item : value)
        {
            System.out.println("The array contains " + item);
        }
        return result;
    }

}

在您的方法中
getArray

代码

value = new int[randomValues];
只是创建一个大小为
ramdomValues
的新空int数组

由于int的默认值是
0
,这就是您得到的结果

同样,在您的方法
getRandom
中,您一次又一次地设置相同的值

for (...)
    randomValues = random.nextInt(100);
试一试

public int[]getRandomArr()
{
int randomValues[]=新的int[20];
随机=新随机();

对于(int j=0;j我看到了一些问题,您可能应该在构造函数中设置值。您也可以将其称为set方法(因为它实际上不是get)。此外,您的
getArray()
不返回数组。因此,我想您确实想要这样的东西

public class SortedArray {
  private Random random = new Random();
  private int[] value = new int[20];

  public SortedArray() {
    super();
    setRandomValues();
  }

  public void setRandomValues() {
    for (int j = 0; j < value.length; j++) {
      value[j] = random.nextInt(100);
    }
  }

  public int[] getArray() {
    return value;
  }
}
public int[] getRandomArr()
{
  int randomValues [] = new int [20];
  Random random = new Random();
  for(int j=0; j<20; j++)
  {
     randomValues[j] = random.nextInt(100);
  }
  return randomValues;
}
public class SortedArray {
  private Random random = new Random();
  private int[] value = new int[20];

  public SortedArray() {
    super();
    setRandomValues();
  }

  public void setRandomValues() {
    for (int j = 0; j < value.length; j++) {
      value[j] = random.nextInt(100);
    }
  }

  public int[] getArray() {
    return value;
  }
}
public static void main(String[] args) {
  SortedArray newArray = new SortedArray();

  int[] array = newArray.getArray();
  System.out.println(Arrays.toString(array));
}