我必须创建一个填充了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);
}
}
}
我很确定我的代码是正确的,我无法弄清楚如何填充我的数组。
答案 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));
}
}
}