Вывод из цикла for в Java - программирование
Подтвердить что ты не робот

Вывод из цикла for в Java

В моем коде у меня есть цикл for, который выполняет итерацию с помощью метода кода, пока он не встретит условие for.

В любом случае, чтобы вырваться из цикла for?

Итак, если мы посмотрим на код ниже, что делать, если мы хотим вырваться из цикла for, когда мы доберемся до "15"?

public class Test {

   public static void main(String args[]) {

      for(int x = 10; x < 20; x = x+1) {
         System.out.print("value of x : " + x );
         System.out.print("\n");
      }
   }
}

Outputs:

value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
value of x : 15
value of x : 16
value of x : 17
value of x : 18
value of x : 19

Я пробовал следующее безрезультатно:

public class Test {

   public static void main(String args[]) {
      boolean breakLoop = false;
      while (!breakLoop) {
          for(int x = 10; x < 20; x = x+1) {
             System.out.print("value of x : " + x );
             System.out.print("\n");
          if (x = 15) {
              breakLoop = true;
          }
          }
      }
   }
}

И я пробовал цикл:

public class Test {

   public static void main(String args[]) {
      breakLoop:
          for(int x = 10; x < 20; x = x+1) {
             System.out.print("value of x : " + x );
             System.out.print("\n");
             if (x = 15) {
                 break breakLoop;
             }
      }
   }
}

Единственный способ, которым я могу добиться того, что хочу, - это выйти из цикла for, я не могу долгое время его подставлять, делать, если и т.д..

Edit:

Это было предоставлено только в качестве примера, это не тот код, который я пытаюсь реализовать. Я решил проблему, поставив несколько операторов IF после того, как каждый цикл инициализируется. Прежде чем он выйдет из одной части петли из-за отсутствия перерывов,

4b9b3361

Ответ 1

break; - это то, что вам нужно, чтобы вырваться из любого оператора цикла, такого как for, while или do-while.

В вашем случае это будет следующим: -

for(int x = 10; x < 20; x++) {
         // The below condition can be present before or after your sysouts, depending on your needs.
         if(x == 15){
             break; // A unlabeled break is enough. You don't need a labeled break here.
         }
         System.out.print("value of x : " + x );
         System.out.print("\n");
}

Ответ 2

Вы можете использовать:

for (int x = 0; x < 10; x++) {
  if (x == 5) { // If x is 5, then break it.
    break;
  }
}

Ответ 3

Если по какой-то причине вы не хотите использовать инструкцию break (если вы думаете, что это нарушит ваш поток чтения в следующий раз, когда вы прочтете свою программу, например), вы можете попробовать следующее:

boolean test = true;
for (int i = 0; i < 1220 && test; i++) {
    System.out.println(i);
    if (i == 20) {
        test = false;
    }
 }

Второй аргумент цикла for - это логический тест. Если результат теста верен, цикл остановится. Вы можете использовать больше, чем просто простой математический тест, если хотите. В противном случае простой прорыв также будет делать трюк, как говорили другие:

for (int i = 0; i < 1220 ; i++) {
    System.out.println(i);
    if (i == 20) {
        break;
    }
 }

Ответ 4

public class Test {

public static void main(String args[]) {

  for(int x = 10; x < 20; x = x+1) {
     if(x==15)
         break;
     System.out.print("value of x : " + x );
     System.out.print("\n");
  }
}
}

Ответ 5

как насчет

for(int k=0;k<10;k=k+2) 
        {
            if(k==2)
            {
            break;
            }
            System.out.println(k);
        }

другой путь помечен как loop

myloop:  for (int i=0; i < 5; i++) {
              for (int j=0; j < 5; j++) {
                if (i * j > 6) {
                  System.out.println("Breaking");
                  break myloop;
                }
                System.out.println(i + " " + j);
              }
            }

для лучшего объяснения вы можете проверить здесь