谢谢你抽出时间来帮助我。我需要这个switch语句来只接受整数1-4。任何其他输入的内容都将再次要求输入。输入5将退出系统。
System.out.println("A random numbers list has been generated for you:\n ");
System.out.println("Choose an option:\n1)Form list to be heapified.\n2)Enqueue the integer 10" +
"\n3)Dequeue the integer 10.\n4)Print the updated heap.\n5)Quit the system \n>>");
Scanner scanner = new Scanner( System.in );
int var = 0;
String input = scanner.next();
int answer = Integer.parseInt(input);
do{
input = scanner.next();
answer = Integer.parseInt(input);
var = answer;
switch(var){
case 1:
for (int i = 0; i < 20; i++) {
h.insert(new Integer((int)(100 * Math.random())), i);
}
break;
case 2:
System.out.println("\nEnqueue-ing 10...\n");
pushFoward(10, 20);//priority 20
break;
case 3:
System.out.println("\nDequeue-ing 10...\n");
dequeue;//priority highest deleted
break;
case 4:
while (h.heapsize() > 0) {
System.out.print(h.pop() + " ");
}
break;
}
}while(var ==1 || var==2 || var==3
|| var==4);我似乎不能把它弄对。继续让事情变得更糟。
编辑:
do{
String input = scanner.next();
int answer = Integer.parseInt(input);
switch(var){
case 1:
for (int i = 0; i < 20; i++) {
h.insert(new Integer((int)(100 * Math.random())), i);
}
break;
case 2:
System.out.println("\nEnqueue-ing 10...\n");
h.pushFoward(10, 20);//priority 20
break;
case 3:
System.out.println("\nDequeue-ing 10...\n");
h.dequeue();//priority highest deleted
break;
case 4:
while (h.heapsize() > 0) {
System.out.print(h.pop() + " ");
}
break;
default: input = scanner.next();
break;
}
}while(var!=5);
发布于 2013-07-27 08:34:41
您可以设置“默认”大小写。
default: doSomething();
break;当用户输入一个不属于您的情况的值时,将调用此方法。
} while (answer != 5);当输入5时,这应该会使循环中断。
编辑:
此外,您还需要打开answer变量而不是'var‘
switch(answer) {发布于 2013-07-27 08:28:36
尝试添加"default:“语句,如下所示:
switch(var){
case 1:
for (int i = 0; i < 20; i++) {
h.insert(new Integer((int)(100 * Math.random())), i);
}
break;
case 2:
System.out.println("\nEnqueue-ing 10...\n");
pushFoward(10, 20);//priority 20
break;
case 3:
System.out.println("\nDequeue-ing 10...\n");
dequeue;//priority highest deleted
break;
case 4:
while (h.heapsize() > 0) {
System.out.print(h.pop() + " ");
}
break;
default:
*Add whatever code you want to execute if its greater then or equal to 5 here!*
}while(var ==1 || var==2 || var==3
|| var==4);发布于 2013-07-27 12:57:37
你不需要把它放在一个循环中。用例很简单:
公共静态空main(String[]参数){
扫描仪扫描仪=新扫描仪(System.in);int应答= Integer.parseInt(scanner.next());开关(应答){案例1: System.out.println(1);中断;案例2: System.out.println(2);中断;案例3: System.out.println(3);中断;案例4: System.out.println(4);中断;案例5:返回;// System.exit(0)或按您的意愿退出: answer = Integer.parseInt(scanner.next());}
}
https://stackoverflow.com/questions/17892985
复制相似问题