扫描仪的操作历史记录



大家好,我正在做功课,我想了解,如何正确完成代码中的第三部分 - 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));
} else if (userInputDecode.equals("morse")) {
System.out.println("Enter text to Decode");
String userInputDecode3 = in.nextLine().toLowerCase();
System.out.println("Decoded text: " + morseDecoder.decode(userInputDecode3));
}
else
System.out.println("You entered wrong codec name, try one more time");
}
else if (userInput.equals(3)) {
}
else if (userInput.equals(4)) {
in.close();
System.out.println("Program was closed by user");

您可能需要一个循环来检查用户是否键入了数字 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{
System.out.println("Please select operation");
System.out.println("1. aaa");
System.out.println("2. bbb");
System.out.println("3. print selection history");
System.out.println("4. exit");
userInput = Integer.valueOf(in.nextLine());
if (userInput.equals(1)) {
System.out.println("Please type something");
String userInputEncode = in.nextLine().toLowerCase();
operationHistory.add("1. aaa - " + userInputEncode);
}else if (userInput.equals(2)) {.
System.out.println("Please type something");
String userInputEncode = in.nextLine().toLowerCase();
operationHistory.add("2. bbb - " + userInputEncode);
}else if (userInput.equals(3)) {
System.out.println("Operation History:");
for(String operationitem:operationHistory){
System.out.println(operationitem);
}
System.out.println("-------------");
}
}while(!userInput.equals(4));
in.close();
System.out.println("Program was closed by user");

这只是一个类似于您的代码的示例,您可以使用它来了解如何解决您的问题以及循环和列表的工作原理

然后,您可能想要管理一些意外的输入

最新更新