私はJavaでロープを勉強しています。私はArrayListsで悩んでいます。私のプログラムの要点は、いくつかのユーザ入力パラメータを取り、それらのパラメータでFooクラスを作成し、それをarraylistに追加することです。問題は、静的メソッドから非静的型を参照できないということです。私が見つけることができる唯一の例は、実際に私を助けないarraylistsに定数( "Cat"、 "5.0"など)を追加することです。これをスタティックメソッド内のarraylistに追加するにはどうすればよいですか?
私のコードの要点は以下の通りです。 arraylistを独自のクラスBarに移動し、arraylist.add(foo)だけを実行するaddメソッドを追加しました。私はループを省いたが、定義の後に何度もループするので、arraylistにはデータが取り込まれる。
public class MainClass{
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
int a, b;
a = scanner.nextint();
b = scanner.nextint();
Foo foo = new Foo(a, b);
Bar.add(foo); //Complains here
}
}
編集:ここでは、オブジェクトfooが作成後に変更されていないのに役立ちます場合はバーを明示的に
import java.util.ArrayList;
public class Bar{
private ArrayList list = new ArrayList();
public void add(Foo foo){
list.add(foo);
}
}
です。
どうすればこの問題を回避できますか?助けを前にありがとう。
なぜ動作していないすべてのコードを表示しないのですか? –
ええ、あなたの* gist *にはBarの宣言がないか、エラーがあるので、あまり良い*要点ではありません* –
編集;私が言ったようにエラーはかなりです。 "非静的メソッドadd(java.lang.Object)は静的コンテキストから参照できません" –