我想知道如何有效地缩短我的if-else代码



我是java的新手,我正在努力学习如何有效地缩短代码。已经在工作了

代码如下:

System.out.println("Please type the letter in Capital only.");


System.out.println("Enter the jeepney's number");
number = scan.nextInt();

System.out.println("Enter the jeepney's letter");
letter = scan.next().charAt(0);


if(number == 12 && letter == 'A') {
System.out.println("Your usual location is Carbon");
}
else if(number == 12 && letter == 'C') {
System.out.println("Your usual location is Panganiban");
}
else if (number == 12 && letter == 'F') {
System.out.println("Your usual location is Taboan") ;
}
else if (number == 12 && ( letter == 'G' || letter == 'I')) {
System.out.println("Your usual location is Mabolo"); 
}
else if (number == 12 && letter == 'L'){
System.out.println("Your usual location is Labangon");
}
else if ( number == 13 && letter == 'C') {
System.out.println("Your usul location is Talamban");
}
else if(number == 14 && letter == 'D') {
System.out.println("Your usual location is Capitol");
}
else {
System.out.println("No record in the database");
}

}
}

我会将第一个if更改为具有嵌套switchif

if (number == 12) {
switch (letter) {
case 'A':
System.out.println("Your usual location is Carbon");
break;
case 'C':
System.out.println("Your usual location is Taboan");
break;
;
case 'F':
System.out.println("Your usual location is Panganiban");
break;
case 'G':
case 'I':
System.out.println("Your usual location is Mabolo");
break;
case 'L':
System.out.println("Your usual location is Labangon");
break;
default:
System.out.println("No record in the database");
}
}
else if ( number == 13 && letter == 'C') {
System.out.println("Your usul location is Talamban");
}
else if(number == 14 && letter == 'D') {
System.out.println("Your usual location is Capitol");
}
else {
System.out.println("No record in the database");
}

也许可以把它放进一个单独的方法

if (number == 12) {
handle12(letter);
}
else if ( number == 13 && letter == 'C') {
System.out.println("Your usul location is Talamban");
}
else if(number == 14 && letter == 'D') {
System.out.println("Your usual location is Capitol");
}
else {
System.out.println("No record in the database");
}
... 
}

public static void handle12(char letter) {
switch (letter) {
case 'A':
System.out.println("Your usual location is Carbon");
break;
case 'C':
System.out.println("Your usual location is Taboan");
break;
;
case 'F':
System.out.println("Your usual location is Panganiban");
break;
case 'G':
case 'I':
System.out.println("Your usual location is Mabolo");
break;
case 'L':
System.out.println("Your usual location is Labangon");
break;
default:
System.out.println("No record in the database");
}

最新更新