eclipse里,if else语句换eclipse语句,求哥大带带
public class Number {
public static void main(String[] args) {
int number = 0,d1,d2,d3,d4,d5;
Scanner reader = new Scanner(System.in);
System.out.println("输入一个1-99999之间的数:");
number = reader.nextInt();
d5 = number / 10000;
d4 = (number % 10000) / 1000;
d3 = (number % 1000) / 100;
d2 = (number % 100) / 10;
d1 = number % 10;
int length = String.valueOf(Math.abs(number)).length();
switch (String.valueOf(number).length()){
case 1:{
switch (number){
case 0:
System.out.printf("\n %d 不在1-99999之间",number);
break;
case 1:
System.out.println(number + "是1位数");
System.out.println(number + "是回文数");
}
break;
}
case 2:{
switch (length){
case 1:
System.out.printf("\n %d 不在1-99999之间",number);
break;
case 2:
System.out.println(number + "是2位数");
System.out.println((d2 == d1)?(number + "是回文数"):number + "不是回文数");
}
break;
}
case 3:{
switch (length){
case 2:
System.out.printf("\n %d 不在1-99999之间",number);
break;
case 3:
System.out.println(number + "是3位数");
System.out.println((d3 == d1)?(number + "是回文数"):number + "不是回文数");
}
break;
} case 4:{
switch (length){
case 3:
System.out.printf("\n %d 不在1-99999之间",number);
break;
case 4:
System.out.println(number + "是4位数");
System.out.println((d4==d1&&d3==d2)?(number + "是回文数"):number + "不是回文数");
}
break;
} case 5:{
switch (length){
case 4:
System.out.printf("\n %d 不在1-99999之间",number);
break;
case 5:
System.out.println(number + "是5位数");
System.out.println((d5==d1&&d4==d2)?(number + "是回文数"):number + "不是回文数");
}
break;
}
default:{
System.out.printf("\n %d 不在1-99999之间",number);
}
}
}
}
switch 语句只能对固定的值进行比较,复杂的 if else 无法转换为 switch。
if else 可以转换为 switch 的示例:
public class Test {
public static void main(String[] args) {
int num = 0;
if (num == 0) {
System.out.println("num is 0");
} else {
System.out.println("num is not 0");
}
// 等价于下面的代码
switch (num) {
case 0:
System.out.println("num is 0");
break;
default:
System.out.println("num is not 0");
break;
}
}
}
if else 无法转换为 switch 的示例:
public class Test {
public static void main(String[] args) {
int num = 0;
if (num > 0) {
System.out.println("num 大于 0");
} else {
System.out.println("num 小于或等于 0");
}
}
}
由于你截图中的条件过于复杂,无法转换为 switch 语句。
如果对你有帮助,麻烦动动小手点个采纳。