Как выйти из цикла while, который находится в операторе if, и продолжить оператор if?

Попробуйте получить данные о смонтированных

    <template>
        <div>
            This is Default child component
            {{tools[0].name}}
        </div>
    </template>

    <script>
    import { CustomJS } from '../js/custom.js';

    export default {
      name: 'HomeContent',
      props: {
        tools: []
      },
      methods: {
          fetchData() {
            const customJs = new CustomJS();
            return customJs.getTools();
          }
      },
      mounted: function () {
        this.tools = this.fetchData();    
        // or    
        // const customJs = new CustomJS();
        // this.tools =  customJs.getTools();
      }
    }
    </script>
-1
задан Damian Klekot 19 January 2019 в 19:02
поделиться

2 ответа

1. Я могу порекомендовать вам использовать отдельные методы для каждой операции, которую вы хотите выполнить. Таким образом, вы можете легко вернуться к любой части кода, потому что на самом деле это будет возврат к методу. 2. Вам не нужно запускать сканер много раз, а только один раз в начале. 3. Вы можете оптимизировать свой код, комбинируя общие или похожие операции в одном методе. Например, ваш код можно изменить следующим образом:

import java.util.ArrayList;
import java.util.Scanner;

public class List{

    static ArrayList<String> alist = new ArrayList<String>();
    static Scanner sc = new Scanner(System.in);
    static String choice;

public static void main(String args[]){
    mainMenue();
}

private static void mainMenue() {
     System.out.println("1. do shopping \n2. check basket \n3. go to checkout");
     choice = sc.next();
     if(choice.equals("1")) shoppingMenue();
     else if(choice.equals("2")) checkingMenue();
     else if(choice.equals("3")) checkoutMenue();
}

private static void checkoutMenue() {
    System.out.println("Are you sure you want to checkout? \n1. No \n2. Yes");
    choice = sc.next();
    if(choice.equals("1"))return;
    else System.out.println("test");
}

private static void checkingMenue() {
    System.out.println(alist);
}

private static void shoppingMenue() {
    boolean stop = false;
    while(!stop){
        System.out.println("1. Veg \n2. sweets \n3. drink \n4. toiletries \n5. 
alcohol \n6. go back");
        choice = sc.next();
        if(choice.equals("1")) printAndSave(1);
        else if(choice.equals("2")) printAndSave(2);
        else if(choice.equals("3")) printAndSave(3);
        else if(choice.equals("4")) printAndSave(4);
        else if(choice.equals("5")) {
            System.out.println("Check ID if age is under 25 \nHow old are you?");
            if(sc.nextInt() < 18) System.out.println("You are not old enough to buy 
alcohol");
            else printAndSave(5);
        }
        else if(choice.equals("6")) mainMenue();
    }
}

private static void printAndSave(int i) {
    ArrayList <String> textList = new ArrayList <>(6);
    textList.add(0, "");
    textList.add(1, "Veg has been added to your basket");
    textList.add(2, "Sweets have been added to your basket");
    textList.add(3, "Drinks have been added to your basket");
    textList.add(4, "Toiletries have been added to your basket");
    textList.add(5, "Alcohol has been added to your basket");

    System.out.println(textList.get(i));
    alist.add("veg");
    }
}
0
ответ дан Sergei Voychuk 19 January 2019 в 19:02
поделиться
    int num=1;
    if(num==1){
        while(num<10){
            num++;
            if(num==5){
                break;
            }
        }
        System.out.println(num);
    }

Выходное значение равно 5

Это связано с тем, что оператор разрывается, оператор выходит из внутреннего цикла, который он может найти

0
ответ дан Sanath Kumar 19 January 2019 в 19:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: