相关疑难解决方法(0)

如何在Java中打破嵌套循环?

我有一个这样的嵌套循环结构:

for (Type type : types) {
    for (Type t : types2) {
         if (some condition) {
             // Do something and break...
             break; // Breaks out of the inner loop
         }
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我怎样才能摆脱两个循环?我看过类似的问题,但没有一个特别关注Java.我无法应用这些解决方案,因为大多数使用了gotos.

我不想把内循环放在不同的方法中.

我不想重新运行循环.当我完成循环块的执行时.

java loops

1751
推荐指数
23
解决办法
109万
查看次数

Java代码中的"循环:".这是什么,为什么要编译?

这段代码让我盯着我的屏幕几分钟:

loop:
for (;;) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

(第137行)

我以前从未见过这个,我不知道Java有一个"循环"关键字(NetBeans甚至不像关键字那样对它进行着色),并且它可以用JDK 6编译得很好.

解释是什么?

java labeled-statements

107
推荐指数
5
解决办法
5万
查看次数

打破嵌套for循环

可能重复:
如何在双/嵌套循环中断开主/外循环?

我有以下情况:

      for(int i = 0; i < schiffe.length-1; i++){
            if(schiffe[i].schaden){
                schlepper.fliege(schiffe[i].x, 
                                 schiffe[i].y, 
                                 schiffe[i].z);
                schlepper.wirdAbgeschleppt = schiffe[i];
                for(int k = 0; k < stationen.length-1; k++){
                    if(stationen[k].reparatur == null){
                        schlepper.fliege(stationen[k].x,
                                         stationen[k].y,
                                         stationen[k].z);
                        break;
                    }
                }
            }
        }
Run Code Online (Sandbox Code Playgroud)

我想要

schlepper.fliege(stationen[k].x,
                 stationen[k].y,
                 stationen[k].z);
Run Code Online (Sandbox Code Playgroud)

执行一次,然后突破内部循环并继续使用for(int i ...循环.所以我在代码中使用了一个中断.但我不确定这是否正确.中断是否会导致中断对于所有循环或仅用于第二个循环?

java loops for-loop break labelled-break

17
推荐指数
2
解决办法
4万
查看次数

为什么在OOP中使用break/continue标签是不好的做法(例如Java,C#)?

我被告知在OOP语言中使用break和continue标签不是OOP编程风格.你能详细解释一下原因和问题是什么吗?

诀窍在于这个标签词.我的意思是打破/继续.

class BreakWithLabelDemo {
    public static void main(String[] args) {

        int[][] arrayOfInts = {
            { 32, 87, 3, 589 },
            { 12, 1076, 2000, 8 },
            { 622, 127, 77, 955 }
        };
        int searchfor = 12;

        int i;
        int j = 0;
        boolean foundIt = false;

    search:
        for (i = 0; i < arrayOfInts.length; i++) {
            for (j = 0; j < arrayOfInts[i].length;
                 j++) {
                if (arrayOfInts[i][j] == searchfor) {
                    foundIt = true;
                    break search;
                }
            }
        } …
Run Code Online (Sandbox Code Playgroud)

c# java oop continue break

8
推荐指数
3
解决办法
2万
查看次数

想要退出for循环

当count变为9时,我想从两个for循环中退出.我使用break它但它只能退出第一个for循环.怎么办?

       ArrayList<String> list = new ArrayList<String>();
        int count = 0;
        System.out.println("Before entering to loop");
        for(int i=0;i<5;i++){
            list.add("XYZ"+i);
            for( int j=0;j<5;j++){
                list.add("ABC"+j);
                count++;
                if(count==9){
                    System.out.println("I want to exit from here.");
                    break;
                }
                System.out.println("i="+i+"::j="+j);
            }
            System.out.println("------------");
        }
        for(String str:list){
            System.out.println(str);
        }
    }
Run Code Online (Sandbox Code Playgroud)

java for-loop break

-1
推荐指数
1
解决办法
149
查看次数

标签 统计

java ×5

break ×3

for-loop ×2

loops ×2

c# ×1

continue ×1

labeled-statements ×1

labelled-break ×1

oop ×1