Java 如何使for循环中的if语句仅在搜索二维数组中的元素后的第一次出现时才出现?
例如,以下是我迄今为止的代码和尝试:Java 如何使for循环中的if语句仅在搜索二维数组中的元素后的第一次出现时才出现?,java,arrays,loops,for-loop,2d,Java,Arrays,Loops,For Loop,2d,例如,以下是我迄今为止的代码和尝试: public void probeClicked(){ for (int i = 0; i < buttons.length; i++) { for (int j = 0; j < buttons[0].length; j++) { if (counts[i][j]==MINE){ buttons[i][j].setText("M");
public void probeClicked(){
for (int i = 0; i < buttons.length; i++) {
for (int j = 0; j < buttons[0].length; j++) {
if (counts[i][j]==MINE){
buttons[i][j].setText("M");
buttons[i][j].setEnabled(false);
JOptionPane.showMessageDialog(frame, "Probe clicked! 1 Mine has been revealed.");
break;
}
else{
continue;
}
} }
public void probeClicked(){
对于(int i=0;i
我想这样做,一旦它找到一个矿井,它就会跳出循环,方法也就完成了。而不是使用
中断
,它将跳出内部for循环,只需使用返回
public void probeClicked(){
for (int i = 0; i < buttons.length; i++) {
for (int j = 0; j < buttons[0].length; j++) {
if (counts[i][j]==MINE){
buttons[i][j].setText("M");
buttons[i][j].setEnabled(false);
JOptionPane.showMessageDialog(frame, "Probe clicked! 1 Mine has been revealed.");
return;
}
else{
continue;
}
} }
public void probeClicked(){
对于(int i=0;i
如果希望方法结束,请使用return而不是break。如果希望它在外循环之后继续,可以执行以下操作:
outer:
for (int i = 0; i < buttons.length; i++) {
for (int j = 0; j < buttons[0].length; j++) {
谢谢,这确实解决了一点问题。我现在的下一个问题是,它只在我出于某种原因第一次找到探测器时才起作用。如果我再次找到探测器,尽管显示了If语句中的消息,但地雷将不再被检测到。我不确定我是否理解您的新问题。每当您输入If语句时,第一个(并且仅此一个)是时间,执行将离开这个方法。这不是你想要的吗?
break outer;