填充int []数组

时间:2014-04-13 18:42:00

标签: java arrays sqrt

我必须创建一个填充了5000个数字的int数组,然后取每个单元格的值,这是一个最大为1000的随机数,并乘以单元格索引的平方根。

到目前为止,我的代码是:

import java.util.*;

public class thousandArray{
   public static void main (String args[]){
      int numbers[] = new int[5000];
      int r = 0 + (int)(Math.random()*1000);
      double rt = numbers[r];
      while(rt==numbers[r]){
         r=0+(int)(Math.random()*1000);
         double square = rt*Math.sqrt(numbers[r]);
         System.out.println(square);
         System.exit(0);
      }
   }
}

我很确定我的代码是正确的,我无法弄清楚如何填充我的数组。

3 个答案:

答案 0 :(得分:0)

import java.util.*;

public class thousandArray{
   public static void main (String args[]){
      int numbers[] = new int[5000];
      int r = 0 + (int)(Math.random()*1000);
      double rt = numbers[r]; //you never assigned anything to numbers[r]
      while(rt==numbers[r]){
         r=0+(int)(Math.random()*1000);
         double square = rt*Math.sqrt(numbers[r]);
         System.out.println(square);
         System.exit(0); //you exit the first time it loops
      }
   }
}

答案 1 :(得分:0)

填充int数组:

int[] numbers = new int[5000];
for (int i = 0; i < 5000; i++) {
    numbers[i] = some_value;
}

要使值随机,或多或少随着问题所述,您可以使用:

    numbers[i] = (int)(Math.random()*1000);

乘以单元格索引的平方根:

    numbers[i] = numbers[i] * (int)Math.sqrt(i);

当然,假设numbers应该是一个int数组。如果它是double数组会更有意义,在这种情况下,您将删除(int)强制转换。

答案 2 :(得分:0)

public class ThousandArray {
    public static void main (String args[]){
        int MAX = 5000;
        int numbers[] = new int[MAX];
        for (int i = 0; i < MAX; i++) {
            numbers[i] = (int)(Math.sqrt(i) * (Math.random()*1000));
        }
    }
}