gpt4 book ai didi

java - 如何从终端接收输入并正确使用它

转载 作者:行者123 更新时间:2023-12-01 12:07:47 28 4
gpt4 key购买 nike

我的任务是通过终端接收“插入号码”等命令,并使用该号码调用插入方法。

我的方法有效。这是我的代码片段:

String command = Terminal.readLine();
while (command != null) {

switch (command) {
case "insert number":
String[] split = command.split(" ");
linkedTuple.insert(Integer.parseInt(split[1]));
break;

只是我完整代码的一部分。我的问题是,如果我使用案例“插入数字”,只有当我真的要在终端中写入插入数字时,它才会起作用,但我想写例如插入 3 来插入数字 3,但我如何在我的开关案例中调用它?我的终端正在工作,因为像 quit 这样的命令正在退出我的应用程序正在工作。

谢谢!

编辑:为了清楚起见,我的主要方法:

  public static void main(String[] args) {

int[] tuple = { 1 };
LinkedNaturalNumberTuple linkedTuple = new LinkedNaturalNumberTuple(
tuple);


String command = Terminal.readLine();
String[] split = command.split(" ");
while (command != null) {

switch (split[0]) {
case "insert":

linkedTuple.insert(Integer.parseInt(split[1]));
break;
case "remove":

Terminal.printLine(""
+ linkedTuple.remove(Integer.parseInt(split[1])));
break;
case "swap":

if (!linkedTuple.swap(Integer.parseInt(split[1]),
Integer.parseInt(split[2]))) {
Terminal.printLine("Error, your numbers are invalid please try again!");
}
break;
case "min":
if (linkedTuple.min() == -1) {
Terminal.printLine("Error, your tuple is empty, use insert number to insert a number!");
} else {
Terminal.printLine("" + linkedTuple.min());
}
break;
case "max":
if (linkedTuple.max() == -1) {
Terminal.printLine("Error, your tuple is empty, use insert number to insert a number!");
} else {
Terminal.printLine("" + linkedTuple.max());
}
break;
case "info":
Terminal.printLine(linkedTuple.toString());
break;
case "quit":
System.exit(1);
break;

}
command = Terminal.readLine();
}

}

如果我输入一个命令,然后想输入另一个命令,则将调用第一个命令。例如:信息然后我的元组被打印插入3我的元组已打印辞职我的元组已打印等等

最佳答案

使用类似的东西:

String[] array = "insert number".split(" ");
....
switch (array[0]) {
case "insert":

除了上述之外,您还需要交换语句的顺序

String command = Terminal.readLine();
String[] split = command.split(" ");
while (command != null) {

String command = Terminal.readLine();
String[] split;
while (command != null) {
command = Terminal.readLine();
split = command.split(" ");

这样您就可以每次循环并要求用户输入,并从用户输入的新命令中进行拆分。

关于java - 如何从终端接收输入并正确使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27467893/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com