2016-05-02 10 views
0
public class CategoryObservationType extends CategoryObservation 
{ 
private String code; 
private String name; 
private String categories; 
private int catlimit = 1; 
String[] Categories; 

public CategoryObservationType(String name, String code) 
{ 
    this.name = name; 
    this.code = code; 
    Categories[catlimit] = new Categories(name,code); 
    catlimit ++; 
} 

public String getCode() 
{ 
    return code; 
} 
public String getName() 
{ 
    return name; 
} 


public String setName(String name) 
{ 
    this.name = name; 
    return name; 
} 
public String setCode(String code) 
{ 
    this.code = code; 
    return code; 
} 
} 

私は新しいですが、私は出力エラーを得ることができませんでしたシンボルカテゴリを見つけることができません。カテゴリ[catlimit] = newカテゴリ(名前、コード)。シンボルが見つかりません。Javaで定義されていますが、

+0

クラス 'カテゴリ 'の定義はありません。 [最小限の、完全で検証可能な例](http://stackoverflow.com/help/mcve)を投稿してください。 – MikeCAT

+0

あなたは 'String Categories'を持っています。それはクラスではなく、配列ではありません。 –

+0

[Coundltt reproduce](http://melpon.org/wandbox/permlink/HOpmflDgP4RZpTWM)。 – MikeCAT

答えて

1

あなたは文字列の配列としてCategoriesを定義しました:

String[] Categories; 

それはあなたの意図だった場合、あなたは文字列の配列として、それを初期化する必要があります。私はあなたが次のことをやったことがわかりしかし、私は「:

Categories[/*some index*/] = new Categories(name,code); 

私にとって、これはおそらく配列(ノートのサイズとしてcatLimitを使用して、あなたは配列Categoryのオブジェクトをすることを示し腰からm個のコーディングは - これは動作しない場合があります):

// Your field: 
private Category[] categories = new Category[catLimit]; 
... 
// In your method: 
categories[/*some index*/] = new Category(name,code); 

をそのような場合、あなたはまた、オブジェクトとしてCategoryを定義する必要があります!。これは言った、私はあなたのクラスを参照してくださいCategoryObservationType:これはCategoryオブジェクトと推測しますか?もしそうなら、私はこれへの変更に注意したコード(再びは、ヒップからコーディング):

// Your field: 
private CategoryObservationType[] categories = new CategoryObservationType[catLimit]; 
... 
// In your method: 
categories[/*some index*/] = new CategoryObservationType(name,code); 

あなたは、私が/*some index*/であなたの方法でcatLimitを交換してきたことがわかります。 catLimitが配列のサイズの場合は、それがインデックスであると思われるので、配列から空白にアクセスするための例外が与えられます。別のプログラミング言語を使用している場合、直感的ではないかもしれません。他の言語ではmyArray[sizeOfArray] = elementToAppend構文を使用して配列を拡張できます。 Javaでこれを行うことはできません。新しい配列を作成するか、より簡単にコレクションタイプとしてLinkedListを使用する必要があります。 get(index)を使用してインデックスに登録し、add(index)を使用して追加できます。

うまくいけば助けてください!

関連する問題