使用私有方法“defaultAnswer()”找不到符号

时间:2017-03-19 06:38:28

标签: java string methods substring

有一个“问题”课程,旨在为用户创建问题。

问题类的checkAnswer方法是为了采取不采取的响应而设计的 帐户不同的空格或大写/小写字符。例如,响应 “abcd”应匹配“A b Cd”的答案。

  

/ **          一个带有文字和答案的问题。        * /

public class Question
{
   private String text;
   private String answer;
  

/ **             用空问题和答案构造一个问题。          * /

   public Question() 
   {
      text = "";
      answer = "";
   }
  

/ **             设置问题文本。             @param questionText这个问题的文字          * /

   public void setText(String questionText)   
   {
      text = questionText;
   }
  

/ **             设置此问题的答案。             @param correctResponse答案          * /

   public void setAnswer(String correctResponse)
   {
      answer = correctResponse;
   }
  

/ **             检查给定的响应是否正确。             @param响应检查的响应             @return如果响应正确则为true,否则为false          * /

   public boolean checkAnswer(String response)
   {
      response = response.toLowerCase();
      for(int i = 0; i <= response.length() - 1; i++)
      {
         if(response.charAt(i) == ' ')
         {
            response = response.subString(0, i) + 
            response.subString(i, response.length());
         }
      }

      response.equals(answer.defaultAnswer());
   }
  

/ **             显示此问题。          * /

   public void display()
   {
      System.out.println(text);
   }

   public void displayAnswer()
   {
      System.out.println(answer);
   }

   private String defaultAnswer()
   {
      answer = answer.toLowerCase();
      for(int i = 0; i <= answer.length() - 1; i++)
      {
         if(answer.charAt(i) == ' ')
         {
            answer = answer.subString(0, i) + 
            answer.subString(i, answer.length());
         }
      }
   }
}

enter image description here

1 个答案:

答案 0 :(得分:2)

您正在使用未为defaultAnswer()类定义的方法Stringsubstring()

  • 第一个实际上看起来像是一个错字。将其替换为defaultAnswer()

  • 对于第二个 - 您已为Question类定义了方法String,而变量 answer 属于response.equals(answer.defaultAnswer());类。您可以通过将response.equals(this.defaultAnswer());替换为 - 来解决此问题 import okhttp3.ResponseBody; import retrofit2.Response; import rx.Subscriber; PoloniexService.getInstance().getAllCoins() .subscribe(new Subscriber<Response<ResponseBody>>() { @Override public void onCompleted() { } @Override public void onError(Throwable e) { } @Override public void onNext(Response<ResponseBody> responseBodyResponse) { } });