繁体   English   中英

如何分支到循环的指定部分?

[英]How do I branch into a specified part of a loop?

int a = 0;
int b = 0;
int c = 0;
Scanner sc = new Scanner(System.in);
for (int i = 0; i < 6; i++) {
    b = sc.nextInt();
    a =+ b;
    c =+ (a + 1);
    if (c < 20) {
        i = 2;
    }
}

如果我在循环内有从0到6的行号,则循环将是这样,如果c小于20,它将重复操作“ c = +(a + 1);” 直到通过c> = 20跳出循环。

这是我程序的简化代码,我的是GUI。 每次我运行代码时,它都会冻结。

您可以标记一个循环并执行breakcontinue指令,但是您需要设计流程,因为Java不使用goto指令,所以无法进入指定的行。 您只能按照这些说明在循环内切换流。

myloopTag: 
for (...; ...; ...) {
    // and you can break current loop by:
    break;

    // or specific (outer) loop by
    break myloopTag;

    // you can also use 'continue' to go to the start of the loop and increment again
    continue;

    // or to 'continue' at a label:
    continue myloopTag;
}

使用c+=代替c=+ 试试吧,加油! b+=代替b=+

您可能是该语言的新手。 欢迎!

如果我正确理解了您对意图的描述,那么您希望您的代码在c> = 20时退出循环。 根据您对行编号的描述以及以下事实:

if(c<20){
    i=2;
}

似乎您认为for循环中的迭代器i与将要执行的行有关*。 不是这种情况。 迭代器i是仅包含整数的变量(就像代码中的abc )。

我建议您看一下有关for循环教程 复习其他语言基础(例如控制流的工作方式)也可能对您有所帮助(实际上,这可能是一个更好的起点)。

*通过计数有6行并且循环上升到6,进一步支持了您的意图猜测。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM