比较两个不起作用的变量字符串

时间:2014-07-01 21:01:07

标签: java android-activity

            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);

            }

2 个答案:

答案 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”的变量。