2017-01-29 10 views
-1

から配列を読み取るために、公共の静的な無効クラスを取得すると、ここで別のクラスここで

public static void showCodes(){ 
      System.out.print(" Select from"); 
      System.out.print(" => "); 
      for (String show : productDB.inventory) 
      { System.out.print(show.toUpperCase() + " ");} 
      System.out.print(" <="); 
    } 

クラスがあると言われている他のクラス(つまり、アレイを有する)

public class ProductDB 
{ 
public String[] inventory = {"java", "jsps", "mcb2", "txtp", "calc", "topg", "bigl", "sgtp"}; 
**insert rest of class code** 
} 

これが私のメイン

です
public static void main(String args[]) 
{ 
System.out.println(" Product Selection\n"); 
showCodes(); 
    ... 

私は変数を定義する必要があることを理解していますが、私はかなり新しいJavaです。 最初のブロックコードでは、4行目で「シンボルを見つけることができません」というエラーが表示されます。方法showCodesの中

+1

どんなクラスで定義されて 'showCodes'されますか?おそらく、問題を示す完全な例を提供するべきです。 – MadProgrammer

+1

'ProductDB productDB = new ProductDB();'をやりましたか? – Shady

+1

メソッドを以下のように書くことができます: 'public static void showCodes(ProductDB productDB){';あなたの 'main'では' showCodes(new ProductDB()) 'と呼んでいます。 – QBrute

答えて

-1

変更forループ:

for (String show : ProductDB.inventory) 

と、以下のように、クラスの配列definiationにstaticを追加します。

public static String[] inventory = {"java", "jsps", "mcb2", "txtp", "calc", "topg", "bigl", "sgtp"}; 
+0

私を助けてくれてありがとう、ありがとうございましたが、コメントのQBruteは私を以前より助けました。私は本当にあなた(そして他のみんな)がそのようなばかばかしい質問に時間を費やしてくれてありがとう。 –

+0

これは、プログラムのセマンティクスを変更します。もし 'inventory'変数がインスタンス変数であるとすればどうでしょうか?何が必要なのか不明なので、この質問はまだ答えることはできません。 –

+0

@ BodhiConfer-woodしかし、これは別の解決策です。ところで、歓迎! –

関連する問題