Изменение результатов в текстовом меню, которое использует оператор переключения - PullRequest
1 голос
/ 21 ноября 2019

Использование Java У меня есть системный класс, который имеет различные методы для отображения деталей компьютерной системы. Затем у меня есть тестовый системный класс, который вызывает эти методы как меню с помощью оператора switch. Если пользователь вводит выбор 1 или 2, он отображает некоторые данные, которые я жестко запрограммировал. Но если они выберут третий вариант, им будет предложено ввести свои собственные данные.

Как я могу получить варианты 1 и 2, чтобы показать их ввод вместо моего, если они вводят его в варианте 3, а затем снова вводят вариант 1 и 2?

Я полностью новичок в этом, и я не уверен, как бы я это сделал, я исследовал в Интернете и в книгах и думал, может быть, где-то еще заявление, но я могу ошибаться. Любой совет будет принят во внимание.

Вот мой код:

import java.util.Scanner;

public class SystemTest_Y3881268 {

    public static void main(String[] args) {
        //Create System_Y3881268 object and test methods
        System_Y3881268 s=new System_Y3881268("Lenovo", 
                "Ideacentre A340-24IWL", 2);
        s.setHardDisk(2);
        s.setMemory(128);
        s.setPurchaseCost(599);

        //Create textual menu
        int memorySize;
        double hardDiskSize;

        @SuppressWarnings("resource")
        Scanner keyboard = new Scanner(System.in);
        char choice;
        do 
        {
            System.out.println();
            System.out.println("***** Computer system menu *****");
            System.out.println();
            System.out.println("Choice 1: Print System Details");
            System.out.println("Choice 2: Diagnose System");
            System.out.println("Choice 3: Set Details");
            System.out.println("Choice 4: Print System Properties");
            System.out.println("Choice 5: Quit the Program");
            System.out.println();
            System.out.println("Enter a number from 1 - 5");
            System.out.println();
            choice = keyboard.next().charAt(0);
            switch(choice) 
            {

            case '1': 
            {
                s.displayDetails();
            }
            break;

            case '2': 
            {
                s.diagnoseSystem();
            } 
            break;

            case '3': 
            {
                System.out.println("Enter hard disk size in GB: ");
                hardDiskSize = keyboard.nextDouble();
                if(hardDiskSize<2) 
                {
                    System.out.println("Hard disk size = Low");
                }

                else 
                {
                    System.out.println("Hard disk size = Ok");
                }

                System.out.println();
                System.out.println("Enter memory size in MB: ");
                memorySize = keyboard.nextInt();
                if(memorySize<128) 
                {
                    System.out.println("Memory Ok = False");
                }

                else 
                {
                    System.out.println("Memory Ok = True");
                }


            }
            break;

            case '4' : 
            {
                System_Y3881268.displaySystemProperties();
            }
            break;

            case '5' : break;
            default :  System.out.println("Enter only numbers from 1 - 5");
                       System.out.println();
            }
        } while(choice != '5');




    }

}
...