【发布时间】:2017-03-17 10:38:56
【问题描述】:
我在尝试使用 java 中的 contains 方法编译类时遇到此错误。该错误表示它找不到符号,考虑到我之前多次使用 contains 方法没有任何问题,我觉得这有点奇怪。
我得到的错误如下所示:
这是我的代码:
import java.util.*;
public class DVDAdministrasjon {
private Map personerOversikt;
public void nyPerson(String navn){
for(int t = 0; t < personerOversikt; t++){
if(!personerOversikt.get(t).equals(navn)){
Person newPerson = new Person(navn);
personerOversikt.put(navn, newPerson);
} else {
System.out.println("Personen er allerede registrert!");
}
}
}
public void kjop(Map kjoptDVD, Map eier){
int teller = 0;
Scanner tastatur = new Scanner(System.in);
System.out.println("Hvem har kjopt DVD-en?");
String navn = tastatur.nextLine();
System.out.println("Hva er tittelen paa DVD-en?");
String filmNavn = tastatur.nextLine();
if(personerOversikt.contains(navn)){
kjoptDVD.put(navn, filmNavn);
eier.put(navn, filmNavn);
} else {
System.out.println("Personen er ikke registrert enda!");
}
}
public void laan (Map utlaantDVD, Map eier, Map laantDVD){
Scanner tastatur = new Scanner (System.in);
System.out.println("Hvem vil laane DVD-en?");
String navn = tastatur.nextLine();
System.out.println("Hvem skal DVD-en laanes fra?");
String navn2 = tastatur.nextLine();
System.out.println("Hva er tittelen paa DVD-en?");
String filmNavn = tastatur.nextLine();
if(eier.contains(filmNavn)){
if(personerOversikt.contains(navn2)){
laantDVD.put(navn, filmNavn);
utlaantDVD.put(navn2, filmNavn);
} else{
System.out.println(navn2 + " er ikke registrert");
}
} else{
System.out.println(navn2 + " eier ikke filmen");
}
}
}
这是引用的类:
import java.util.*;
public class Person {
private String navn;
private Map kjoptDVD;
private Map utlaantDVD;
private Map laantDVD;
private Map dvdOversikt;
public Person (String navn){
this.navn = navn;
}
}
【问题讨论】:
-
我认为您正在寻找
Map中的containsKey方法 -
嗯,有道理,我只使用过使用 arraylist 的 contains 方法,并认为该方法对两者都适用。我会测试一下!