gpt4 book ai didi

java - 在 Java 中读取 token

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:54:39 24 4
gpt4 key购买 nike

在做一个学校项目时,我遇到了以下问题:在从 run() 方法(使用控制台作为一种文本编辑器),我发现无论出于何种原因, token 都无法正确读取,因此我运行到 processCommand() 方法的“else”子句应该简单准确(即在控制台中键入 h 会显示“请输入有效命令。”)。我确定我的分线方式有问题,但对于我来说我无法弄清楚。谁能帮帮我?

    @Override
public void run() {
Scanner scanner = new Scanner(System.in);
String line;

try {
do {
System.out.print("vi: ");
line = scanner.nextLine();
if(line.length() > 0){
processCommand(line);
}
} while (!quit);
} catch (Exception ex) {
System.out.println("An error occurred.");
}

scanner.close();
System.out.println("Goodbye!");
}

@Override
public void processCommand(String line) {
String[] tokens = line.split(" ");
if(tokens[0] == "b") {
insertBefore(line.substring(3));
}
if(tokens[0] == "i") {
insertAfter(line.substring(3));
}
if(tokens[0] == "m") {
moveUp(Integer.parseInt(line.substring(3)));
}
if(tokens[0] == "u") {
moveDown(Integer.parseInt(line.substring(3)));
}
if(tokens[0] == "r") {
remove(Integer.parseInt(line.substring(3)));
}
if(tokens[0] == "d") {
remove(Integer.parseInt(line.substring(3)));
}
if(tokens[0] == "c") {
clear();
}
if(tokens[0] == "s") {
try {
save(line.substring(3));
} catch (IOException e) {
}
}
if(tokens[0] == "l") {
try{
load(line.substring(3));
} catch (IOException e) {

}
}
if(tokens[0] == "h") {
displayHelp();
}
if(tokens[0] == "x") {
exit();
}
else {
System.out.println("Please enter a valid command.");
return;
}
}

最佳答案

您不应该使用“==”进行字符串比较。使用以下内容:

if(tokens[0].equals("h"))...

希望对您有所帮助!

关于java - 在 Java 中读取 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13694428/

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