Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java初学者编码错误-类字符串中包含的方法无法应用于给定类型_Java - Fatal编程技术网

Java初学者编码错误-类字符串中包含的方法无法应用于给定类型

Java初学者编码错误-类字符串中包含的方法无法应用于给定类型,java,Java,我有一个小的错误代码,我相信这是一个简单的修复代码。这样做的目的是,在中键入动物的名称,如果其中包含“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 ani

我有一个小的错误代码,我相信这是一个简单的修复代码。这样做的目的是,在中键入动物的名称,如果其中包含“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

如果您想查看字符串==dog,我们将非常感谢您的任何想法,请提前感谢

if(animal.equals("dog")){
    System.out.println("WOOF!");
}

编译器收到的代码与您向我们显示的代码不同。在代码中,
if
语句的
String.contains()
有一个
CharSequence
参数,但编译器接收的代码有一个
String.contains()
而没有参数。您刚刚犯了一个简单的错误,忘记保存,或者给编译器错误的文件。

所以这是一个学童错误。我认为错误与第一条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()) {

    }



  }
}
公司没有高调显示负责的线路,所以我认为这是第一条“如果”线路

因此,当我添加以下代码时,代码是有效的:

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")) {

    }



  }
}

感谢您的帮助

错误消息并非来自您向我们显示的代码。寻求调试帮助的问题(“为什么此代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:。在生成/编译代码之前,您是否保存了发布的实际代码?另外,注意到在代码末尾出现了一个额外的括号。这可能是C++中的答案,但不是java:-(不要把字符串与= = .<代码> =真/<代码>完全相加。只需使用均衡器()方法。现在你看到了为什么总是提供A?