我不确定为什么我在包含NullPointerException
循环的行上获得while
。
最初创建String[] input
时。它充满了null
所以也许这就是我收到错误的原因。我尝试通过添加这段代码来解决这个问题:
for (String k : input) {
k = "empty";
}
这可能是错误的方法,所以我仍然收到错误。
代码:
String[] input = new String[3];
while(!input[0].equals("exit")) {
Scanner sc = new Scanner(System.in);
input = sc.nextLine().split(" ", 3);
switch(input[0]) {
// vi
case "vi":
System.out.println("hi");
break;
// ls
case "ls":
break;
// mkdir
case "mkdir":
break;
// pwd
case "pwd":
break;
}
}
答案 0 :(得分:3)
此
for (String k : input) {
k = "empty";
}
实际上等同于
for (int i = 0; i < input.length; i++) {
String k = input[i];
k = "empty";
}
更改引用k
不会影响数组中的引用。
只做
for (int i = 0; i < input.length; i++) {
input[i] = "empty";
}
我不确定你的while
循环是做什么的,所以我不会对此发表评论。