2012-02-07 12 views
1

私は配列を持っており、この配列にランダムな値を設定します。私はこの配列がいっぱいであることを確認したい(それぞれの位置に数字がある)。これについてどうすればいい?私は次のコードを書いたが、わからない。完全な配列をJavaで確保

public boolean check(){ 
    boolean checks=false;   
    int [] array =new int [10]; 

    if(array.length==10){ 
    checks = true;  
    } 

return checks; 
} 
+3

は有効な乱数です。 – ggreiner

+3

Javaの配列は常に "full"です。明示的に入力していないエントリには、デフォルト値(0またはnull)が含まれています。 – harold

答えて

5

配列は常に各位置に値を持ちますが、それらの値は設定した値ではない可能性があります。上記のコードでは、checktrueに設定します(配列を割り当てるときにメモリ例外が発生しないことを前提としています)。なぜなら、長さ10の配列を求める場合は、取得するため。後でこれらの値を変更し、無作為な値を生成する何らかの種類のループを実行しても構いませんが、10要素分のスペースを求めても、配列に何らかの「穴」があることを心配する必要はありませんどこにもスペースがない。

同様に、配列の場所を割り当てたことがあるかどうか、またはまだデフォルト値を保持しているかどうかを確認する方法はありません。これを自分で管理する必要があります。あなたは、配列の各要素は、それに割り当てられた値を持っていることを保証することができます

for (int i = 0; i < myArray.length; i++) { 
    myArray[i] = /* ... */ 
} 

:あなたはこのようなループのために行う場合には、言いました。

希望すると便利です。

4

可能なすべてのintの中に無作為に生成している場合(現在のところ、このようなランダムな生成を行っていないことに注意してください)はできません。デフォルトの要素値(0)は、明らかにそれらのintの1つです。 lengthは修正されており、初期化した要素とは関係ありません。

整数の配列を使用できますが、それは不要なオーバーヘッドです。ブール値で追跡してください。

2

「各位置に番号があります」とはどういう意味ですか?

Javaでは、スパース配列(空白を含む配列)は許可されません。「すべての数字はゼロではありません」という意味ですか?その場合は、次のコードは、あなたのために働く可能性があります

public boolean check(int [] array){ 
    for(int i = 0; i < array.length ; i++) { 
     if(array[i] == 0) return false; 
    } 
    return true; 
} 
3

あなたはInteger配列を使用し、任意のヌルがあるかどうかをチェックすることができます

public boolean check(){ 
    boolean checks=false;   
    Integer [] array =new Integer [10]; 

    // generate random numbers 

    // check if there are any empty spots. 
    for(Integer i : array) { 
    if(i == null) return false; 
    } 
return true; 
} 
0

あなたは「doesnの配列を確認したい場合

int [] array = new int[7]; 

//Step 1 
boolean b = false; 

//Step 2 
for(int i = 0; i < array.length; i++){ 
    if(array[i] == null){ 
     b = true; 
    } 
} 

//Step 3 
if(!b){ 
    System.out.println("Array is full"); 
} 

ステップ1

:トン nullの要素が含まれている、あなたはこのようなものを使用することができます

まず、bという名前のブール変数を作成し、結果を保持し、その値をfalseに設定します。

あなたがtrue

ステップ3

bを設定した場合にはnull要素をチェックして見てみたい、アレイを通してステップ2

ループ最後に、bの値をチェックして、何でもアリと結果。私の例では、配列にnull要素が含まれていない場合は、「配列がいっぱいです」というメッセージが表示されます。

関連する問題