如何减少和简化控制台中的菜单打印输出

时间:2019-06-10 07:59:51

标签: java

我有一个功能齐全的代码,但我想减少和简化它。下面是代码,您可以看到重复打印的方式。他们的任务是制作菜单,并根据用户的需要为其启用某些命令

我正在用Java工作,现在我需要制作一个程序来完成所有这些工作,但是用更少的代码。

package hr.atos.praksa.josipmaricevic.zadatak15;

import java.util.Scanner;

public class Users {

    Scanner input = new Scanner(System.in);
    private String user;

    Users(String user_s) {
        user = user_s;
    }

    public void startApp() throws Exception {
        switch(user) {
        case "user":
            userUser();
            break;
        case "superuser":
            superuserUser();
            break;
        case "admin":
            adminUser();

            break;

        }
    }

    public void adminUser() throws Exception {
        Employee worker = new Employee();
        MyArticle article = new MyArticle();


        outer: while(true) {
            System.out.print("\n"
                           + "-------Glavni--Izbornik-------\n"
                           + "1. Zaposlenici\n"
                           + "2. Artikli\n"
                           + "3. Izvjesca\n"
                           + "0. Prekini aplikaciju\n"
                           + "Odaberite radnju:  ");
            String choice = input.nextLine();
            System.out.println();
            switch(choice) {
            case "1":
                outer2: while(true) {
                    System.out.print("---------Zaposlenici---------\n"
                            + "1. Dodaj zaposelenika\n"
                            + "2. Ispisi zaposlenike\n"
                            + "3. Obrisi zaposlenika\n"
                            + "4. Uredi zaposlenika\n"
                            + "0. Povratak nazad\n"
                            + "Odaberite radnju:  ");
                    choice = input.nextLine();
                    System.out.println();
                    switch(choice) {
                    case "1":
                        worker.saveEmployee();
                        break;
                    case "2":
                        worker.listEmployee();
                        break;
                    case "3":
                        worker.removeEmployee();
                        break;
                    case "4":
                        worker.editEmployee();
                        break;
                    case "0":
                        break outer2;
                    default:
                        System.out.println("Krivi unos!!");
                        break;
                    }
                    System.out.println();
                }

                break;
            case "2":
                outer3: while(true) {
                    System.out.print("----------Artikli-------------\n"
                            + "1. Dodaj artikl\n"
                            + "2. Ispisi artikl\n"
                            + "3. Obrisi artikl\n"
                            + "4. Uredi artikl\n"
                            + "0. Povratak nazad\n"
                            + "Odaberite radnju:  ");
                    choice = input.nextLine();
                    System.out.println();
                    switch(choice) {
                    case "1":
                        article.saveArticle();
                        break;
                    case "2":
                        article.listArticle();
                        break;
                    case "3":
                        article.removeArticle();
                        break;
                    case "4":
                        article.editArticle();
                        break;
                    case "0":
                        break outer3;
                    default:
                        System.out.println("Krivi unos!!");
                        break;
                    }
                    System.out.println();
                }
                break;
            case "3":
                outer3: while(true) {
                    System.out.print("-----------Izvjesca-----------\n"
                            + "1. Izvjestaj radnika po radnom mjestu\n"
                            + "2. izvjestaj o trenutnom profitul\n"
                            + "0. Povratak nazad\n"
                            + "Odaberite radnju:  ");
                    choice = input.nextLine();
                    System.out.println();
                    switch(choice) {
                    case "1":
                        worker.printReport();
                        break;
                    case "2":
                        article.currentProfit();
                        break;
                    case "0":
                        break outer3;
                    default:
                        System.out.println("Krivi unos!!");
                        break;
                    }
                    System.out.println();
                }
                break;
            case "0":
                System.out.println("Kraj rada");
                break outer;
            default:
                System.out.println("Krivi unos!!");
                break;
            }

        }

    }   



    public void superuserUser() throws Exception {
        Employee worker = new Employee();
        MyArticle article = new MyArticle();


        outer: while(true) {
            System.out.print("\n"
                           + "-------Glavni--Izbornik-------\n"
                           + "1. Zaposlenici\n"
                           + "2. Artikli\n"
                           + "3. Izvjesca\n"
                           + "0. Prekini aplikaciju\n"
                           + "Odaberite radnju:  ");
            String choice = input.nextLine();
            System.out.println();
            switch(choice) {
            case "1":
                outer2: while(true) {
                    System.out.print("---------Zaposlenici---------\n"
                            + "1. Dodaj zaposelenika\n"
                            + "2. Ispisi zaposlenike\n"
                            + "0. Povratak nazad\n"
                            + "Odaberite radnju:  ");
                    choice = input.nextLine();
                    System.out.println();
                    switch(choice) {
                    case "1":
                        worker.saveEmployee();
                        break;
                    case "2":
                        worker.listEmployee();
                        break;
                    case "0":
                        break outer2;
                    default:
                        System.out.println("Krivi unos!!");
                        break;
                    }
                    System.out.println();
                }

                break;
            case "2":
                outer3: while(true) {
                    System.out.print("----------Artikli-------------\n"
                            + "1. Dodaj artikl\n"
                            + "2. Ispisi artikl\n"
                            + "0. Povratak nazad\n"
                            + "Odaberite radnju:  ");
                    choice = input.nextLine();
                    System.out.println();
                    switch(choice) {
                    case "1":
                        article.saveArticle();
                        break;
                    case "2":
                        article.listArticle();
                        break;
                    case "0":
                        break outer3;
                    default:
                        System.out.println("Krivi unos!!");
                        break;
                    }
                    System.out.println();
                }
                break;
            case "3":
                outer3: while(true) {
                    System.out.print("-----------Izvjesca-----------\n"
                            + "1. Izvjestaj radnika po radnom mjestu\n"
                            + "2. izvjestaj o trenutnom profitul\n"
                            + "0. Povratak nazad\n"
                            + "Odaberite radnju:  ");
                    choice = input.nextLine();
                    System.out.println();
                    switch(choice) {
                    case "1":
                        worker.printReport();
                        break;
                    case "2":
                        article.currentProfit();
                        break;
                    case "0":
                        break outer3;
                    default:
                        System.out.println("Krivi unos!!");
                        break;
                    }
                    System.out.println();
                }
                break;
            case "0":
                System.out.println("Kraj rada");
                break outer;
            default:
                System.out.println("Krivi unos!!");
                break;
            }
        }   
    }


    public void userUser() throws Exception {
        Employee worker = new Employee();
        MyArticle article = new MyArticle();


        outer: while(true) {
            System.out.print("\n"
                           + "-------Glavni--Izbornik-------\n"
                           + "1. Zaposlenici\n"
                           + "2. Artikli\n"
                           + "0. Prekini aplikaciju\n"
                           + "Odaberite radnju:  ");
            String choice = input.nextLine();
            System.out.println();
            switch(choice) {
            case "1":
                outer2: while(true) {
                    System.out.print("---------Zaposlenici----------\n"
                            + "1. Ispisi zaposlenike\n"
                            + "0. Povratak nazad\n"
                            + "Odaberite radnju:  ");
                    choice = input.nextLine();
                    System.out.println();
                    switch(choice) {
                    case "1":
                        worker.listEmployee();
                        break;
                    case "0":
                        break outer2;
                    default:
                        System.out.println("Krivi unos!!");
                        break;
                    }
                    System.out.println();
                }

                break;
            case "2":
                outer3: while(true) {
                    System.out.print("----------Artikli-------------\n"
                            + "1. Ispisi artikl\n"
                            + "0. Povratak nazad\n"
                            + "Odaberite radnju:  ");
                    choice = input.nextLine();
                    System.out.println();
                    switch(choice) {
                    case "1":
                        article.listArticle();
                        break;
                    case "0":
                        break outer3;
                    default:
                        System.out.println("Krivi unos!!");
                        break;
                    }
                    System.out.println();
                }
                break;
            case "0":
                System.out.println("Kraj rada");
                break outer;
            default:
                System.out.println("Krivi unos!!");
                break;
            }
        }
    }







}

0 个答案:

没有答案