我有一些错误的代码,我确信这是一个简单的代码修复。这个想法是你输入一个动物的名字,如果它包含" dog"然后动物发出的噪音输出到屏幕:
import java.util.*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("What animal is it?");
String animal = sc.nextLine();
if (animal.contains("dog")) {
System.out.println("WOOF!");
}
}
}
尝试运行代码时收到的消息显示:
Main.java:17: error: method contains in class String cannot be applied to given types;
if(animal.contains()) {
^
required: CharSequence
found: no arguments
reason: actual and formal argument lists differ in length
1 error
exit status 1
非常感谢任何想法,提前谢谢
答案 0 :(得分:0)
如果你想检查String == dog
if(animal.equals("dog")){
System.out.println("WOOF!");
}
答案 1 :(得分:0)
编译器没有收到您向我们展示的相同代码。在您的代码中,if
语句String.contains()
具有CharSequence
参数,但编译器接收的代码具有String.contains()
而没有参数。您刚刚犯了一个简单的错误:忘记保存,或者给编译器错误的文件。
答案 2 :(得分:0)
所以这是学校男生的错误。我认为这个错误与第一个if语句有关.....它不是,它指的是最后一个:
import java.util.*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("What animal is it?");
String animal = sc.nextLine();
if(animal.contains("dog")){
System.out.println("WOOF!");
}
if(animal.contains("cat")) {
}
if(animal.contains()) {
}
}
}
compliler没有强调责任线,所以我认为这是第一条“if”线。
所以当我添加以下代码时:
import java.util.*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("What animal is it?");
String animal = sc.nextLine();
if(animal.contains("dog")){
System.out.println("WOOF!");
}
if(animal.contains("cat")) {
}
if(animal.contains("numpty")) {
}
}
}
感谢您的帮助