gpt4 book ai didi

java - 连续输入命令

转载 作者:行者123 更新时间:2023-12-01 05:08:26 24 4
gpt4 key购买 nike

我的程序将以“命令 参数”的形式读取用户键盘命令,中间有一个空格。它不断执行单个命令,直到下一个命令是“exit”。另外,如果用户搞砸了,程序应该显示错误,但继续询问命令(我认为我尚未完成的功能)..

下面的代码是实现这个的好方法吗?它是否可以处理用户只需按下回车键而无需命令、垃圾输入等?如果有的话,我很想知道是否有更好的惯用方法来实现这一点。

String command = "";
String parameter = "";
Scanner dataIn = new Scanner(System.in);

while (!command.equals("exit")) {
System.out.print(">> ");

command = dataIn.next().trim();
parameter = dataIn.next().trim();
//should ^ these have error handling?

if (command.equals("dothis")) {
//do this w/ parameter..
} else if (command.equals("dothat")) {
//do that w/ parameter..
} //else if... {}
else {
system.out.println("Command not valid.");
}
}

System.out.println("Program exited by user.");

注意:我在学习这个类(class)时对什么是异常处理没有任何概念,因此非常感谢该领域的任何指针:)

最佳答案

这是实现输入循环的简单方法:

Scanner sc = new Scanner(System.in);

for (prompt(); sc.hasNextLine(); prompt()) {

String line = sc.nextLine().replaceAll("\n", "");

// return pressed
if (line.length == 0)
continue;

// split line into arguments
String[] args = line.split(" ");

// process arguments
if (args.length == 1) {
if (args[0].equalsIgnoreCase("exit"))
System.exit(0);
if (args[0].equalsIgnoreCase("dosomething"))
// do something
} else if (args.length == 2) {
// do stuff with parameters
}
}

假设 prompt() 在此处打印出提示。

关于java - 连续输入命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12396765/

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