public void onClick(View view)
{
String answer = mEdit.getText().toString();
questioncount++;
if (answer.equals(check)) {
currentscore++;
//t3.setText("CORRECT");
}
else {
currentscore--;
//t3.setText("WRONG");
};
t4.setText(answer+" "+currentscore);
t2.setText("Question "+questioncount+" of 20");
final double randomnumber = Math.floor(Math.random()*(arraycount+1));
t.setText(gcse_defs[(int) randomnumber]);
String check = gcse_terms[(int) randomnumber];
t3.setText(check);
}
当我运行上面的内容时,它似乎正确地获取了所有字符串。当我迭代第一个问题时,如果答案是正确的,它会在我的分数中加1,但是在它认为答案错误之后每次迭代,即使我知道它是正确的。
我输出答案和正确的答案,所以我知道它们匹配。
这是序列吗?
修改
正如有人建议的那样,我在比较后设置了“check”var。我将其更改为以下内容并且有效:
public void onClick(View view)
{
String check = t3.getText().toString();
String answer = mEdit.getText().toString();
questioncount++;
if (answer.equals(check)) {
currentscore++;
//t3.setText("CORRECT");
}
else {
currentscore--;
//t3.setText("WRONG");
};
t4.setText(answer+" "+currentscore);
t2.setText("Question "+questioncount+" of 20");
final double randomnumber = Math.floor(Math.random()*(arraycount+1));
t.setText(gcse_defs[(int) randomnumber]);
check = gcse_terms[(int) randomnumber];
t3.setText(check);
}
答案 0 :(得分:0)
public void onClick(View view){
...
if (answer.equals(check)) { // use a class member "check"
...
String check = gcse_terms[(int) randomnumber]; // Declare use and display
t3.setText(check); // local variable
省略" String"所以它不是宣言!
答案 1 :(得分:0)
在我看来,好像你有两个名为“check”的变量。