我想执行一个切换案例,在这个案例的主体和另一个案例相似的情况下,我将这两个案例分开,编辑告诉我,这是一个与另一个相似的案例,并且可以选择与另一个案例合并。我做第一个案子的时候是:
...
case 3: {
case 7:
System.out.println("Print something: ");
...
}但是,我希望在3的情况下打印一个不同于案例7的消息。
...
case 3: {
System.out.println("Print something different");
case 7:
System.out.println("Print something: ");
...
}但是,当案例3正在执行时,两个消息都会被打印出来,而当大小写是7时,只打印case 7的消息。当大小写为3时,有没有办法只打印第3条?
发布于 2019-11-24 12:30:20
如果希望这两种情况(3和7)执行公共逻辑,唯一的区别是打印输出,则可以添加一个条件:
case 3:
case 7: {
System.out.println(v == 3 ? "something" : "something else");
... common code that should run for both 3 and 7 cases ...
}其中v是开关语句变量。
发布于 2019-11-24 12:32:17
我希望3和7的正文是相同的,因此对3和7都执行,但是当情况为3时,只打印第一条消息,而不打印案例7的消息。
String stuff ="";
switch (test){
case 7: stuff = "something Else.\n"; //flow down to 3
case 3: stuff = "print something.\n" + stuff; //prepend with print something.
break;
}
System.out.print(stuff);上面说..。这种编码方式并不是真正直观的编码器。你最好把这两个案子分开休息一下。
String stuff ="";
switch (test){
case 7: stuff = "something Else.";
break;
case 3: stuff = "print something.\nsomething Else.";
break;
}
System.out.println(stuff);发布于 2019-11-24 12:13:22
在每个语句之后,添加一个中断。否则,它将同时执行这两个操作。
case 3:
System.out.println("Print something different");
case 7:
System.out.println("Print something: ");
break;
...https://stackoverflow.com/questions/59017483
复制相似问题