Zhi*_*anc 10 java if-statement switch-statement
可能重复:
If/Else vs. Switch
我这里有两个代码,我只想问两个中哪一个在可写性(编写代码的简易性)和可读性(易于理解代码)方面更好.
切换情况:
import java.io.*;
public class Quarter{
public static void main(String[] args){
int day;
String input="";
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Input a number from 1 to 3: ");
try{
input=in.readLine();
}catch(IOException e){
System.out.println("Error!");
}
day=Integer.parseInt(input);
switch(day){
case 1:
case 2:
case 3:
System.out.println("1st Quarter");
break;
case 4:
case 5:
case 6:
System.out.println("2nd Quarter");
break;
case 7:
case 8:
case 9:
System.out.println("3rd Quarter");
break;
case 10:
case 11:
case 12:
System.out.println("4th Quarter");
break;
default: System.out.println("Error!");
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果别的:
import java.io.*;
public class Days{
public static void main(String[] args){
int day;
String input="";
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Input a number from 1 to 12: ");
try{
input=in.readLine();
}catch(IOException e){
System.out.println("Error!");
}
day=Integer.parseInt(input);
if(day>=1 && day<=3){
System.out.println("1st Quarter");
}else
if(day>=4 && day<=6){
System.out.println("2nd Quarter");
}else
if(day>=7 && day<=9){
System.out.println("3rd Quarter");
}else
if(day>=10 && day<=12){
System.out.println("4th Quarter");
}else
System.out.println("Error!");
}
}
Run Code Online (Sandbox Code Playgroud)
Lie*_*yan 36
我也不会这样做:
String[] out = {
"1st Quarter",
"2nd Quarter",
"3rd Quarter",
"4th Quarter"
};
if (1 <= day && day <= 12) {
System.out.println(out[(day - 1) / 3]);
} else {
System.out.println("Error!");
}
Run Code Online (Sandbox Code Playgroud)