有一个“问题”课程,旨在为用户创建问题。
问题类的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());
}
}
}
}
答案 0 :(得分:2)
您正在使用未为defaultAnswer()
类定义的方法String
和substring()
。
第一个实际上看起来像是一个错字。将其替换为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) {
}
});