我运行程序,它到达while循环,并且在循环之前将输入设置为“”。当它进入while循环时,将显示“输入错误!”。然后要求输入input = sc.nextLine()。为什么?它甚至还没有输入switch-case语句。 预先谢谢你。
Scanner sc = new Scanner(System.in);
int size;
size = sc.nextInt();
String[] mem = new String[size];
int[] mem_index = new int[size];
String input = "";
while(!input.equals("quit")) {
input = sc.nextLine();
switch(input) {
case "Z": mem = memAlloc(mem, allocRequest);
memPrint(mem, mem_index);
allocRequest++;
break;
case "O": System.out.print("Type memory data id: ");
delRequest = sc.nextInt();
mem = memDel(mem, mem_index, delRequest);
memPrint(mem, mem_index);
break;
case "F": mem = memFrag(mem, mem_index);
memPrint(mem, mem_index);
break;
case "quit": break;
default: System.out.println("Wrong input!");
break;
}
}
答案 0 :(得分:0)
您的scanner
中可能还有其他内容。尝试添加以下行:
sc.next();
在进入while循环之前或循环的开始位置。