为了账号安全,请及时绑定邮箱和手机立即绑定

为什么`equals`不比较字符串和字符串数组?

为什么`equals`不比较字符串和字符串数组?

慕仙森 2021-08-25 15:36:56
我正在将来自 a 的输入TextEdit与来自“answerList”的答案进行比较。现在我想知道:为什么不.equals()比较“uinput” String?有人可以向我解释这一点并在代码中使用它吗?提前致谢,祝您有美好的一天!package ...import android.graphics.Color;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.EditText;import android.widget.TextView;public class MainActivity extends AppCompatActivity {public TextView view1;public String uinput;public EditText edit1;public TextView score_view;public int score = 0;public String[] questionList = {        "lux, luces",        "munus, munera",        "neglere",};public String[] answerList = {        "(dag)licht, dag",        "taak",        "verwaarlozen",};@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    this.edit1 = findViewById(R.id.edit1);    this.view1 = findViewById(R.id.view1);    this.score_view = findViewById(R.id.score_view);    this.uinput = edit1.getText().toString();    view1.setText(questionList[0]);}    public void check(View view) {        if (uinput.equals(answerList[0])) {            edit1.setBackgroundColor(Color.parseColor("#00FF00"));            score++;            score_view.setText(score);        } else {            edit1.setBackgroundColor(Color.parseColor("#FF0000"));        }}}
查看完整描述

2 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

OP 的问题涉及将 与uinput数组中的元素进行比较questionList。在该check方法中,对 进行了比较uinput,但uinput在检查之前未更新 的值。


public void check(View view) {

    // ADD HERE: update the value of the input

    uinput = edit1.getText().toString();


    if (uinput.equals(answerList[0])) {

        edit1.setBackgroundColor(Color.parseColor("#00FF00"));

        score++;

        score_view.setText(score);

    } else {

        edit1.setBackgroundColor(Color.parseColor("#FF0000"));

    }

}


查看完整回答
反对 回复 2021-08-25
  • 2 回答
  • 0 关注
  • 171 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信