扫描仪的操作历史记录

大家好,我正在做作业,我想了解如何正确完成代码中的第三部分 - 3.查看操作历史记录。(用户执行的所有操作的列表,使用数组以格式存储此信息:“[操作索引]。[操作名称] - [用户输入]”。我还有一个问题 - 应用程序应该工作并接受用户输入,直到他想要退出程序。


  Scanner in = new Scanner(System.in);

System.out.println("Please select operation");

        System.out.println("1.Encode");

        System.out.println("2.Decode");

        System.out.println("3.View operation history");

        System.out.println("4.Exit program");


        Integer userInput = Integer.valueOf(in.nextLine());

        if (userInput.equals(1)) {

            System.out.println("You chosen encoding operation");

            System.out.println("Please choose codec name  - caesar or morse");


            String userInputEncode = in.nextLine().toLowerCase();

            if (userInputEncode.equals("caesar")) {

                System.out.println("Enter text to encode");

                String userInputEncode2 = in.nextLine().toLowerCase();

                System.out.println("Encoded text: " + caesarEncoder.encode(userInputEncode2));

            } else if (userInputEncode.equals("morse")) {

                System.out.println("Enter text to encode");

                String userInputEncode3 = in.nextLine().toLowerCase();

                System.out.println("Encoded text: " + morseEncoder.encode(userInputEncode3));


            } else

                System.out.println("You entered wrong codec name, try one more time");



        } else if (userInput.equals(2)) {

            System.out.println("You chosen decoding operation");

            System.out.println("Please choose codec name  - caesar or morse");

            String userInputDecode = in.nextLine().toLowerCase();

            if (userInputDecode.equals("caesar")) {

                System.out.println("Enter text to decode");

                String userInputDecode2 = in.nextLine().toLowerCase();

                System.out.println("Decoded text: " + caesarDecoder.decode(userInputDecode2));


            } 

慕雪6442864
浏览 72回答 1
1回答

千万里不及你

您可能需要一个循环来检查用户是否键入了数字 4。然后,您可以在循环之前创建一个列表,其中将存储用户在程序执行期间键入的所有历史记录。然后在选择数字3的情况下,您可以使用该列表来获取历史数据,然后打印您需要的所有数据下面是一个简单而快速的示例(不是最好的方法):import java.util.List;import java.util.ArrayList;import java.util.Scanner;Scanner in = new Scanner(System.in);List<String> operationHistory=new ArrayList<String>();Integer userInput = null;do{&nbsp; &nbsp; System.out.println("Please select operation");&nbsp; &nbsp; System.out.println("1. aaa");&nbsp; &nbsp; System.out.println("2. bbb");&nbsp; &nbsp; System.out.println("3. print selection history");&nbsp; &nbsp; System.out.println("4. exit");&nbsp; &nbsp; userInput = Integer.valueOf(in.nextLine());&nbsp; &nbsp; if (userInput.equals(1)) {&nbsp; &nbsp; &nbsp; &nbsp; System.out.println("Please type something");&nbsp; &nbsp; &nbsp; &nbsp; String userInputEncode = in.nextLine().toLowerCase();&nbsp; &nbsp; &nbsp; &nbsp; operationHistory.add("1. aaa - " + userInputEncode);&nbsp; &nbsp; }else if (userInput.equals(2)) {.&nbsp; &nbsp; &nbsp; &nbsp; System.out.println("Please type something");&nbsp; &nbsp; &nbsp; &nbsp; String userInputEncode = in.nextLine().toLowerCase();&nbsp; &nbsp; &nbsp; &nbsp; operationHistory.add("2. bbb - " + userInputEncode);&nbsp; &nbsp; }else if (userInput.equals(3)) {&nbsp; &nbsp; &nbsp; &nbsp; System.out.println("Operation History:");&nbsp; &nbsp; &nbsp; &nbsp; for(String operationitem:operationHistory){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.println(operationitem);&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; System.out.println("-------------");&nbsp; &nbsp; }}while(!userInput.equals(4));in.close();System.out.println("Program was closed by user");这只是一个与您的代码类似的示例,您可以使用它来了解如何解决您的问题以及循环和列表如何工作然后您可能想要管理一些意外的输入
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java