Java 如果输入变为默认值,如何返回到switch语句的顶部?
我在做作业(从1-10的数字输入中生成罗马数字),在做作业的过程中,我做了一个switch语句。我的问题是,如果案例中没有选择任何输入,如何返回到switch语句的顶部?我们的教科书中没有这方面的内容,我在java文档中也找不到任何内容。这仅仅是不可能发生的事情吗?您可以在case中Java 如果输入变为默认值,如何返回到switch语句的顶部?,java,switch-statement,Java,Switch Statement,我在做作业(从1-10的数字输入中生成罗马数字),在做作业的过程中,我做了一个switch语句。我的问题是,如果案例中没有选择任何输入,如何返回到switch语句的顶部?我们的教科书中没有这方面的内容,我在java文档中也找不到任何内容。这仅仅是不可能发生的事情吗?您可以在case中中断,或者可以编写返回语句(如果是方法) public int method(int i){ int j=0; switch(i){ case 1: ... return j;
中断
,或者可以编写返回
语句(如果是方法)
public int method(int i){
int j=0;
switch(i){
case 1: ... return j;
....
}
}
您可以在case中
中断
,也可以编写返回
语句(如果是方法)
public int method(int i){
int j=0;
switch(i){
case 1: ... return j;
....
}
}
下面是如何做到这一点,但我强烈建议您重新构造代码以避免这样做
public class Main {
public static void main(String[] args) {
int i = 0;
loop: for (;;) {
switch (i) {
case 1: System.out.println(i);
break loop;
case 2: // more stuff
break loop;
default:
System.out.println(i);
i = 1;
break;
}
}
}
}
下面是如何做到这一点,但我强烈建议您重新构造代码以避免这样做
public class Main {
public static void main(String[] args) {
int i = 0;
loop: for (;;) {
switch (i) {
case 1: System.out.println(i);
break loop;
case 2: // more stuff
break loop;
default:
System.out.println(i);
i = 1;
break;
}
}
}
}
就我个人而言,我更喜欢while循环: 只是为了解释基本思想:初始化一个布尔值,它将作为是否必须重复循环的标准,启动while循环并将布尔值设置为false,因为在大多数情况下,您只想运行一次,启动开关,并且在所有要重复循环的情况下,将布尔值再次设置为true
boolean again= true;
while (again){
again= false;
switch(number){
case 1:
break;
case 2:
break;
default: again=true;
break;
}
}
就我个人而言,我更喜欢while循环: 只是为了解释基本思想:初始化一个布尔值,它将作为是否必须重复循环的标准,启动while循环并将布尔值设置为false,因为在大多数情况下,您只想运行一次,启动开关,并且在所有要重复循环的情况下,将布尔值再次设置为true
boolean again= true;
while (again){
again= false;
switch(number){
case 1:
break;
case 2:
break;
default: again=true;
break;
}
}
是的,这是不可能发生的事情。它只测试一次值(除非您将其放入循环中),然后转到
开关
语句后面的任何代码。您说的“开关顶部”是什么意思?你的意思是案例1:
?为什么要用相同的数据和相同的条件再次测试数据?是的,这是不可能发生的事情。它只测试一次值(除非您将其放入循环中),然后转到开关
语句后面的任何代码。您说的“开关顶部”是什么意思?您的意思是案例1:
?为什么要用相同的数据和相同的条件再次测试数据?