私が読んでいるCSVファイルがあります。私は、6つのフィールドを初期化するための6つの引数と、必要な形式に文字列を変換するpublic stringメソッドを持つコンストラクタを作成しました。Javaファイルを読み込んで、対応する行ごとにオブジェクトを作成します。
public Hill(int number, String name, String countyName, double height, double latitude, double longitude) {
this.number = number;
this.name = name;
this.countyName = countyName;
this.height = height;
this.latitude = latitude;
this.longitude = longitude;
}
今、私が達成しようとしている何が、それは項目のリストを返すために、対応するオブジェクトを作成し、ファイルを開いて、それを読んだ後です。
私は私は私が右のそれをやっていた場合、私はわからなかったので、単純に新しいオブジェクトを作成しようとした行をコメントアウトしているpublic static List<Hill> readHills()
のinital方法与えられたので、私はちょうどプリントアウト私のコードが何をしているかを調べるためのテストとして、新しいオブジェクト行が冗長であるように見えます。 は、現在、私のコードは次のとおりです。私はサンプル値を置くが、技術的には、私は、新しいオブジェクトの6つの分野は、私が読んファイルからにしたいオブジェクトを作成するコードで
public static List<Hill> readHills() {
Scanner fileName = null;
try {
fileName = new Scanner(new File("C:/Users/TOSHIBA/Desktop/hills.csv"));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
Scanner finalFileName = fileName;
List<Hill> list = new ArrayList<Hill>() {
{
for(int i = 0; i < 21; i++) {
String line = finalFileName.nextLine();
String[] splitted = line.split(",");
//add(new Hill(1, "", "", 100, 100, 100));
System.out.println(Arrays.toString(splitted));
}
}
};
return list;
}
。フィールド名を追加しようとすると、私は赤い線であると言っていますNon static method cannot be referenced from a static method
どこが間違っていますか?なぜ私のコード行は役に立たないのですか?
私はコードを使って遊ぶことを続けましたが、どこにも行かない、私の問題は私が与えられたメソッド名を理解していないと思います。すなわち、なぜ、public static List<Hill> readHills()
は何をしますか?
私はHill newHill = new Hill(int number, String name, String countyName,double height, double latitude, double longitude);
を使用してみましたが、私はまず第一に、静的な文脈から
http://stackoverflow.com/questions/2559527/non-static-variable-cannot-be-referenced-from-a-static-context – TmTron