当我比较demDigits.equals(Numbers [i] [j])时,if仅对于2d数组中的最后一个值是666, 111-555的其他值都是错误的。想不通为什么比较字符串与2d字符串数组,只比较数组的最后一个值
public class MainActivity extends AppCompatActivity {
EditText digits;
EditText console;
Button press;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final String[][] Numbers = {
{"111", "222"},
{"333", "444"},
{"555", "666"}
};
digits = (EditText) findViewById(R.id.editText4);
console = (EditText) findViewById(R.id.editText5);
press = (Button) findViewById(R.id.button3);
press.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String demDigits = digits.getText().toString();
for (int i = 0; i < Numbers.length; i++)
{
for(int j = 0; j < Numbers[i].length; j++)
{
if (demDigits.equals(Numbers[i][j]))
{
console.setText("works");
//break;
}
else
{
console.setText("nope");
}
}
}
}
});
}
}
如果'break'该循环您只打破了内环内。不知道这是你想要的,但你可以使用[标签循环](http://stackoverflow.com/q/3821827/7366707)来突破外部循环。 – Moira
这就是评论,我试图停止循环时,等于是真实的,但没有帮助。不需要休息解决方案。 – magetogi
我正在谈论的事实是,你并没有用这个break语句停止整个循环。 – Moira