将信息传递给其他方法

时间:2020-02-02 04:22:44

标签: java methods constructor

我的一小段代码遇到了麻烦。

我要求用户给我答案(使用扫描仪),并且知道我想以其他方式使用该信息。然后,我想对其进行比较,看看答案是否正确。她是我代码的一小部分:

public void enterYourName(){
    System.out.println("What is your name?");
    name = input.nextLine();
}

我想在另一种方法中使用此信息:

public void check(String personName){
  if(name.contentEquals("Eric")){
    /* TODO */
  }
}

我收到以下错误消息:

  • 类型java.lang.CharSequence无法解析。从所需的.class文件间接引用。

  • 类型为contentEquals(java.lang.StringBuffer)的方法java.lang.String不适用于参数(java.lang.String)。

我做错了什么?另外,如果陈述有误,请随时纠正我。

1 个答案:

答案 0 :(得分:0)

  1. java.lang.CharSequence应该即使没有任何导入也可以使用-它是JDK的一部分。很难说,为什么它不起作用,但是应该。
  2. 根据其documentation页,String.contentEquals可以由StringBufferCharSequence参数化。您想用String来调用它,它将无法正常工作。

(2)可以很容易地解决:

  • 正如@AndréMartins在评论中所说,只需使用String.equals(...)String.equalsIgnoreCase(...)
  • StringBufferCharSequence两个类都有一个toString()方法,它将它们转换为String

我还怀疑,您的计算机的JDK / JRE安装可能有问题。

相关问题