我想从一个void main方法进行比较,其中有一个数组和一个字符串。所以我想做的是比较名称是否在数组中。 return true else返回false。但是我无法让它发挥作用。这对我来说都是假的。而且我不知道为什么?
public boolean isActor(String name) {
if(name.equals(actors)) {
return true;
}else {
return false;
}
}
public static void main(String[] args) {
String[] actors = {"Ulla Skoog", "Suzanne Reuter", "Peter Dalle"} ;
Dvd d1 = new Dvd(10327, "Yrrol", "Peter Dalle", actors, 88);
System.out.println("Medverkar Kalle Kula i Lorry: " + d1.isActor("Kalle kula"));
System.out.println("Medverkar Ulla Skoog i Lorry: " + d1.isActor("Ulla Skoog"));
}
任何帮助将不胜感激!
编辑:所以我试着做(如果(Arrays.asList(演员).contains(名字)),是的,它是有效的。问题是我现在可能被允许在测试下进行,这可能会让我失去分数并且我试图创建一个for循环并且通过它创建一个等于语句但仍然得到相同的结果,这都是错误的。EDIT2:也试图这样做
public boolean isActor(String name) {
for(String s: actors){
if(s.equals(actors))
return true;
}
return false;
}
但仍然得到了同样的结果
EDIT3:
我想做的是制作e方法(公共布尔isActor(String name){)并且我想制作一个if语句,它应该通过说&#34来制作算法;如果这个名字在这个阵列上。说实话。如果它不在数组中。说它是假的。"这就是我想要做的事情。
答案 0 :(得分:2)
您必须测试数组中的每个项目:
public boolean isActor(String name) {
for (String actor : actors) {
if (name.equals(actor) {
return true;
}
}
return false;
}
答案 1 :(得分:1)
public boolean isActor(String name, List<String> actorList) {
if(actorList.contains(name)) {
return true;
}else {
return false;
}
}
public static void main(String[] args) {
String[] actors = {"Ulla Skoog", "Suzanne Reuter", "Peter Dalle"} ;
List<String> actorList = Arrays.asList ( actors);
Dvd d1 = new Dvd(10327, "Yrrol", "Peter Dalle", actors, 88);
System.out.println("Medverkar Kalle Kula i Lorry: " + d1.isActor("Kalle kula",actors));
System.out.println("Medverkar Ulla Skoog i Lorry: " + d1.isActor("Ulla Skoog",actors));
}