我正在制作自己的命令行,例如 windows 命令提示符或 macs 终端。我的计划是让它接受输入(工作)分析它(不起作用)并显示它(工作)然后重复。
这是它的测试文件
import java.util.Scanner;
public class addingStrings {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//Init
String out = "";
String input = scan.nextLine();
String component[] = input.split(" ");
for(int i = 0;i < component.length;i++) {
if(component[i] == "echo") {
i++;
while(component[i] != "\\") {
out += component[i];
i++;
}
}
}
System.out.println(out);
}
}
它所做的是将代码拆分为一个数组,然后检查数组中的每个字符串是否有诸如 echo 或 print 之类的命令。一旦找到一个,它将在 echo 命令之后打印所有内容。
例如:它会写成:
"echo Hello World \\"
将其拆分为 component = {"echo", "Hello", "World", "\"}
然后检查并发现 component[0] 是“echo”,然后显示所有内容,直到它点击 \ 并显示
Hello World
除了 if 语句之外,一切都有效。出于某种原因,如果我使用这样的数组
String[] component = {"echo", "Hello", "World"};
而不是拆分字符串;它工作正常。
有没有办法让它以与普通数组相同的方式读取拆分字符串数组,或者将字符串拆分为数组输出字符串与直接将值保存到数组中不同。