-3

我需要编写一个 java 程序,我必须在其中初始化 9000 个 int 值。如何初始化该静态数组?

我有 20954,70955,20156,3057,9058,20759,18960,961 等值(9000 个数字)......我想将这些数字初始化为数组。

同样,我有 8 个数组。

我可以保存在文本文件中,并且可以在执行时读取。但是对于解析它需要时间建议请。

4

8 回答 8

4
int[] array= new int[9000];
Random random = new Random();

for (int i =0; i< array.length; i++)
{
     array[i] = random.nextInt(9000)+1;
}
于 2013-09-26T08:43:50.573 回答
2

您可以像正常int的 size数组一样进行初始化9000

int[] numbers = new int[9000];

现在,要将值加载到数组中,您可以使用循环机制。

for(int i = 0; i< numbers.length; i++) {
    number[i] = // your value
}

但问题仍然是,你是如何得到所谓的 9000 个整数的?

如果您从逗号分隔的Stringlike中获取值"2,5,23,523,",您可以这样做。

// String input = "2,5,23,523"; // 9000 integers
String[] strArray = input.split(",");
int[] numbers = new int[strArray.length];
for(int i = 0; i < strArray.length; i++) {
    numbers[i] = Integer.parseInt(strArray[i]);
}

或者,

int[] numbers = { 2, 5, 23, 323, 2342, 1351 }; // 9000 numbers
于 2013-09-26T08:39:30.727 回答
1
// Intialize
int[] integers = new int[9000];

// Populate with some random integers
for(int i = 0; i < integers.length; i++){
    integers[i] = new Random().nextInt();
}

// Write the values in a file
PrintWriter pr = null;

try {
    pr = new PrintWriter("outputFile.txt");    

    for (int i=0; i < integers.length; i++) {
        pr.println(integers[i]);
    }

} catch (Exception e) {

    e.printStackTrace();
    // TODO Handle appropriately

} finally {

     if(pr != null)
        pr.close();

}
于 2013-09-26T08:39:27.093 回答
0

当然还有Arrays.fill

int[] array = new int[9000];
// All of them.
Arrays.fill(a,2);
// Just some of them.
Arrays.fill(a,100,200,6);
于 2013-09-26T08:58:08.273 回答
0
int[] manyIntegers= new int[9000];
于 2013-09-26T08:38:24.133 回答
0
int[] manyIntegers= new int[9000];

for(int i = 0; i < manyIntegers.length; i++){
    manyIntegers[i] = YOUR_VALUE;
}
于 2013-09-26T08:40:40.493 回答
0

如果你真的有 9000 个整数无法以某种方式生成/计算,我认为你应该用旧的方式来做:

static int[] myValues = new int[] {
    3, 5, 2, 7, 100, 8, 15, 7, 5645, 134, // the first 10 ints
    // 899 more lines
}

这就像将它们写入单独的文本文件一样简单,但无需加载/解析某些内容。

由于静态初始化代码的最大数量为 65535 字节,因此同一类中不应有其他static字段。我可以设法以int这种方式初始化一个长度为 9516 的数组,但不能更多。

于 2013-09-26T08:48:10.030 回答
-1

您可以使用 ArrayList 初始化数组。例如ArrayList a = new ArrayList();. 当然,你必须包括import java.util.ArrayList

于 2013-09-26T08:39:54.287 回答