我有一些代码,可将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"));
}
答案 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"));
}
}