Java 填充int[]数组

Java 填充int[]数组,java,arrays,sqrt,Java,Arrays,Sqrt,我必须用5000个数字组成一个整数数组,然后取每个单元格的值,这是一个最大为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);

我必须用5000个数字组成一个整数数组,然后取每个单元格的值,这是一个最大为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);
      }
   }
}
我很确定我的代码是正确的,我不知道如何填充数组。

要填充整数数组:

int[] numbers = new int[5000];
for (int i = 0; i < 5000; i++) {
    numbers[i] = some_value;
}
要乘以单元格索引的平方根:

    numbers[i] = numbers[i] * (int)Math.sqrt(i);
当然,这假设
numbers
应该是一个int数组。如果它是一个
double
数组,则更有意义,在这种情况下,您将删除
(int)
强制转换。

公共类千数组{
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));
        }
    }
}
公共静态void main(字符串参数[]){ int MAX=5000; 整数[]=新整数[MAX]; 对于(int i=0;i
你的目标是什么?实际发生了什么?你知道什么
System.exit(0)可以吗?由于
系统退出(0)
,此循环只能触发一次。您没有填写任何接近5000个条目的内容。您从未实际将任何内容分配给
数字
的任何元素,因此它们都将保持初始化为零。您必须首先保持逻辑性和谦虚性。如果代码没有做它应该做的事情,那么你不应该非常确定你做的代码是正确的。与数百万开发人员使用的标准类代码相比,您的代码出现错误的概率要高得多。谢谢,我尝试过对其进行一些调整,现在它开始工作了。你打算如何将
double
值分配给
int
数组元素?@HotLicks>我到底在哪里将
double
分配给
int
?你说的“在……中没有效果”是什么意思?i的Sqrt将从零开始,增长到70,影响元素中随机值的范围。@HotLicks>是的,它是正确的。我只是在考虑随机性的影响。好吧,你改变了问题陈述--“我必须做一个int数组…”
    numbers[i] = numbers[i] * (int)Math.sqrt(i);
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));
        }
    }
}