如何在数组的for循环中使用if / else语句?

时间:2018-08-30 11:13:19

标签: java android for-loop if-statement

我有一些代码,可将EditText的用户输入与正确的翻译(String[] answers)进行比较。现在,我写了一个if/else语句,但是我试图将其放入for循环中。否则,我需要写30多个语句。只是有一些不同。

现在我想出了以下“基础”:

for(int i = 0; i < answers.length; i++){

        if (Uinput[].equals(answers[])) {
            edit1.setBackgroundColor(Color.parseColor("#00FF00"));
        } else {
            edit1.setBackgroundColor(Color.parseColor("#FF0000"));
        }
    }

我需要在方括号([])之间插入什么内容,因为它不允许它为空,并进一步建议或更改?预先感谢。

我当前使用的代码示例:

private String[] answers = {"daylight", "task"};

private EditText edit1;

this.edit1 = findViewById(R.id.edit1);

String Uinput[] = {edit1.getText().toString()};

//        Comparison 1
        if (Uinput[0].equals(answers[0])) {
            edit1.setBackgroundColor(Color.parseColor("#00FF00"));
        }
        else {
            edit1.setBackgroundColor(Color.parseColor("#FF0000"));
        }

2 个答案:

答案 0 :(得分:0)

您不需要循环。您可以简单地使用Arrays.asList例如

if (Arrays.asList(answers).contains(edit1.getText().toString())) {
    edit1.setBackgroundColor(Color.parseColor("#00FF00"));
} else {
    edit1.setBackgroundColor(Color.parseColor("#FF0000"));
}

答案 1 :(得分:0)

您应该将i放在方括号中

for(int i = 0; i < answers.length; i++){
        if (Uinput[i].equals(answers[i])) { // USE i in the brackets
            edit1.setBackgroundColor(Color.parseColor("#00FF00"));
        } else {
            edit1.setBackgroundColor(Color.parseColor("#FF0000"));
        }
    }