我自己无法找到解决方案。请给我一个提示或其他东西
import java.util.*;
import java.io.*;
class Fulgleinfluens {
public static void main(String[] args) {
HashMap <String, Komm> Komm = new hashMap<String, Komm>();
int teller = 0;
try {
Scanner FilKom = new Scanner(new File("KommuneKoordinater.txt"));
while(FilKom.hasNextLine()) {
String linje = FilKom.nextLine();
String [] dellinje = linje.split(",");
String kommune = dellinje[0];
String fylke = dellinje[1];
String lengdegrad = dellinje[2];
String breddegrad = dellinje[3];
Komm enKom = new Komm(kommune, fylke, lengdegrad, breddegrad);
Komm.put(kommune, enKom);
teller++;
}
} catch (Exception e) {
System.out.println("En feil oppsto ved lesing av fil");
}
System.out.println("Lest "+teller+" antall linjer");
}
void getKommuneMap () {
String kommune = "Sarpsborg";
Komm enKom = (Komm) Komm.get(kommune);
}
}
class Komm {
String kommune;
String fylke;
String lengdegrad;
String breddegrad;
Komm(String kommune, String fylke, String lengdegrad, String breddegrad) {
this.kommune = kommune;
this.fylke = fylke;
this.lengdegrad = lengdegrad;
this.breddegrad = breddegrad;
}
}
答案 0 :(得分:1)
您不能将地图实例命名为与类Komm
的名称相同。将其更改为komm
,它应该没问题。现在,您正尝试在Komm
而不是HashMap.get()
上调用静态方法。
答案 1 :(得分:0)
您的进口是否正确?试试:
import java.util.*; // or java.util.HashMap
import java.io.*;
我看到进口已更正。但是你的代码搞砸了。您的Komm
变量定义了很多次。
答案 2 :(得分:0)
您尝试调用Komm.get()
,只有在get()
被定义为类Komm
中的静态方法时才会有效。据我所知,事实并非如此。