簡體   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