Передача информации другому методу - PullRequest
2 голосов
/ 02 февраля 2020

У меня проблемы с небольшим разделом моего кода.

Я попросил пользователя дать мне ответ (с помощью сканера) и знаю, что хочу использовать эту информацию в другом методе. Затем я хочу сравнить его, чтобы увидеть, если ответ правильный. Это небольшая часть моего кода:

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 голосов
/ 02 февраля 2020
  1. java.lang.CharSequence должен быть доступен для вас даже без какого-либо импорта - он является частью JDK. Нельзя сказать легко, почему это не сработает, но это должно быть.
  2. Согласно странице документации , String.contentEquals может быть параметризовано StringBuffer или CharSequence. Вы хотите назвать это String, это не будет работать.

(2) может быть решено очень легко:

  • Как @ AndréMartins говорит в комментарии просто вы можете использовать String.equals(...) или String.equalsIgnoreCase(...).
  • Оба класса StringBuffer и CharSequence имеют метод toString(), который преобразует их в String.

Я также подозреваю, что с установкой JDK / JRE вашей машины может возникнуть проблема c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...