-2

こんにちは、私は文字列配列で作業していますが、配列にデータを追加しないようで、エラーまたは null 例外が発生し続けます

public boolean addCategory(String description){
if(numCategories <= maxArrayCategories){
    arrayCategories[numCategories] = description;
    numCategories++;
    return true;}
else {return false;}}

問題は機能ですか?

4

3 に答える 3

5

arrayCategoriesnull、それを使用するために配列自体を作成する必要があります。

arrayCategories = new String[maxArrayCategories];

これがクラス メンバーである場合は、コードの先頭のどこか、おそらくコンストラクターにあります。

Java nullでは、参照 (この場合は配列) がどこも指していないことを意味する言語リテラルです。NullReferenceExceptionは、まだ初期化されていない値、または明示的に null に設定された値にアクセスしようとしていることを意味します (この場合、配列がまだ初期化されていない配列セルを設定しようとしています)。

于 2013-04-02T18:37:29.800 に答える
0
//Hi I hope numCategories is like a index and has value 0 and maxArrayCategories is the length of array and hope you have initialized the array arrayCategories then please try this.
//it would be work.

public boolean addCategory(String description){
if(numCategories < maxArrayCategories-1){
    arrayCategories[numCategories] = description;
    numCategories++;
    return true;}
else {return false;}}
于 2013-04-02T18:51:43.303 に答える
0

コードの問題は、配列を初期化していないことですarrayCategories。そのため、NullPointerException. 配列は、使用する前に初期化する必要があります。たとえば、arrayCategoriesにいくつかの要素があることがすでにわかっている場合は、次を使用しmaxArrayCategoriesてメソッドを呼び出す前に配列を初期化する必要があります。addCategory

arrayCategories = new String[maxArrayCategories];

また、チェックする条件が

if(numCategories < maxArrayCategories)
于 2013-04-02T18:41:07.577 に答える