我需要编写一个 java 程序,我必须在其中初始化 9000 个 int 值。如何初始化该静态数组?
我有 20954,70955,20156,3057,9058,20759,18960,961 等值(9000 个数字)......我想将这些数字初始化为数组。
同样,我有 8 个数组。
我可以保存在文本文件中,并且可以在执行时读取。但是对于解析它需要时间建议请。
我需要编写一个 java 程序,我必须在其中初始化 9000 个 int 值。如何初始化该静态数组?
我有 20954,70955,20156,3057,9058,20759,18960,961 等值(9000 个数字)......我想将这些数字初始化为数组。
同样,我有 8 个数组。
我可以保存在文本文件中,并且可以在执行时读取。但是对于解析它需要时间建议请。
int[] array= new int[9000];
Random random = new Random();
for (int i =0; i< array.length; i++)
{
array[i] = random.nextInt(9000)+1;
}
您可以像正常int
的 size数组一样进行初始化9000
。
int[] numbers = new int[9000];
现在,要将值加载到数组中,您可以使用循环机制。
for(int i = 0; i< numbers.length; i++) {
number[i] = // your value
}
但问题仍然是,你是如何得到所谓的 9000 个整数的?
如果您从逗号分隔的String
like中获取值"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
// 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();
}
当然还有Arrays.fill
int[] array = new int[9000];
// All of them.
Arrays.fill(a,2);
// Just some of them.
Arrays.fill(a,100,200,6);
int[] manyIntegers= new int[9000];
int[] manyIntegers= new int[9000];
for(int i = 0; i < manyIntegers.length; i++){
manyIntegers[i] = YOUR_VALUE;
}
如果你真的有 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 的数组,但不能更多。
您可以使用 ArrayList 初始化数组。例如ArrayList a = new ArrayList();
. 当然,你必须包括import java.util.ArrayList