циклический switch java

213
20 марта 2018, 01:14

Мне нужно сделать консольное меню, использовал обычный switch, но не знаю как сделать чтобы при выборе кейса, он выполнялся и после этого в консоли снова появлялось то же меню, без потери проделанных операций

Класс Main

public class Main {
public static void main(String[] args) {
    List list = new List();
    int value;
    int color;
    Scanner scan = new Scanner(System.in);
    System.out.println("Menu");
    System.out.println("1 - Make list" + "\n" + "2 - Show massive" + "\n" + "3 - Show number of elements" + "\n" +
            "4 - Show cards by the value" + "\n" + "5 - Show cards by color" + "\n" + "6 - Remove" + "\n" + "7 - Quit" + "\n");
    byte functuion = scan.nextByte();
    switch (functuion){
        case 1 : list.makeList();
        case 2 : list.showList();
        case 3 :
            System.out.println("Number of elements: ");
            list.showNumberOfElements();
        case 4 :
            System.out.println("Enter value for search: ");
            scan.nextLine();
            value = scan.nextInt();
            list.showByValue(value);
        case 5 :
            System.out.println("Enter color for search: ");
            scan.nextLine();
            color = scan.nextInt();
            list.showByColor(color);
        case 6 :
            System.out.println("Enter value of card that you want to remove: ");
            value = scan.nextInt();
            System.out.println("Enter color of card that you want to remove: ");
            color = scan.nextInt();
            list.remove(value, color);
        case 7 : break;
    }
}


}
Answer 1
boolean cheaker = true;
while(cheaker){
    switch(...){
        ...
        case(...):
            cheaker = false; // выход из меню
            break;
    }
}
Answer 2

Попробуйте так:

package stackoverflow;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        List list = new ArrayList();
        int value;
        int color;
        Scanner scan = new Scanner(System.in);
        String menu = "Menu\n" + "1 - Make list\n" + "2 - Show massive\n" + "3 - Show number of elements\n"
            + "4 - Show cards by the value\n" + "5 - Show cards by color\n" + "6 - Remove\n" + "7 - Quit\n";
        System.out.println(menu);
        boolean isQuit = false;
        while (!isQuit) {
            byte functuion = scan.nextByte();
            switch (functuion) {
                case 1:
                    // list.makeList();
                    System.out.println("list.makeList();");
                    break;
                case 2:
                    // list.showList();
                    System.out.println("list.showList();");
                    break;
                case 3:
                    System.out.println("Number of elements: ");
                    // list.showNumberOfElements();
                    break;
                case 4:
                    System.out.println("Enter value for search: ");
                    scan.nextLine();
                    value = scan.nextInt();
                    // list.showByValue(value);
                    break;
                case 5:
                    System.out.println("Enter color for search: ");
                    scan.nextLine();
                    color = scan.nextInt();
                    // list.showByColor(color);
                    break;
                case 6:
                    System.out.println("Enter value of card that you want to remove: ");
                    value = scan.nextInt();
                    System.out.println("Enter color of card that you want to remove: ");
                    color = scan.nextInt();
                    // list.remove(value, color);
                    break;
                case 7:
                    isQuit = true;
                    break;
                default:
                    System.out.println("No such menu");
                    break;
            }
            System.out.println(menu);
        }
    }
}
READ ALSO
Итератор для бинарного дерева

Итератор для бинарного дерева

Всем приветЗадача реализовать бинарное дерево поиска

194
Работа инкремента в Java

Работа инкремента в Java

Возник вопрос по поводу работы Java инкремента, я не могу понять логику как он считает его в этих выражения:

152
JTable установка фокуса на ячейку

JTable установка фокуса на ячейку

Есть jtable (10строк 2 столбца), необходимо установить фокус на ячейку (примерно на 5 строку 1 столбца) Как сделать ?

152
пороговый персептрон

пороговый персептрон

Есть класс Перcептрон , для обучения использую данные из массива patterns и answers которые ввожу в ручную , все отлично работаетПри считывании из файла...

127