-3

9000 個の int 値を初期化する必要がある Java プログラムを作成する必要があります。その静的配列を初期化するにはどうすればよいですか?

私は 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

intsizeの通常の配列と同じように初期化できます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
于 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
}

これは、それらを別のテキスト ファイルに書き込むのと同じくらい簡単ですが、何かをロード/解析する必要はありません。

static静的イニシャライザ コードの最大数は 65535 バイトであるため、同じクラスに他のフィールドがあってはなりません。int長さ 9516の配列をそのように初期化することはできましたが、それ以上はできませんでした。

于 2013-09-26T08:48:10.030 に答える
-1

ArrayList で配列を初期化できます。たとえばArrayList a = new ArrayList();。もちろん、含める必要がありますimport java.util.ArrayList

于 2013-09-26T08:39:54.287 に答える