9000 個の int 値を初期化する必要がある Java プログラムを作成する必要があります。その静的配列を初期化するにはどうすればよいですか?
私は 20954,70955,20156,3057,9058,20759,18960,961 などの値を持っています (9000 の数字)....これらの数字を配列に初期化したいです。
同様に、8 つの配列があります。
テキストファイルに保存でき、実行中に読み込めます。しかし、解析には時間がかかります。提案してください。
9000 個の int 値を初期化する必要がある Java プログラムを作成する必要があります。その静的配列を初期化するにはどうすればよいですか?
私は 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
}
これは、それらを別のテキスト ファイルに書き込むのと同じくらい簡単ですが、何かをロード/解析する必要はありません。
static
静的イニシャライザ コードの最大数は 65535 バイトであるため、同じクラスに他のフィールドがあってはなりません。int
長さ 9516の配列をそのように初期化することはできましたが、それ以上はできませんでした。
ArrayList で配列を初期化できます。たとえばArrayList a = new ArrayList();
。もちろん、含める必要がありますimport java.util.ArrayList