我写的一个关于swtich语句的,来判断输入的是几月份,但是编译出错了
import java.io.*;
public class Month{
public static void main(String[] args) throws IOException{
InputStreamReader reader=new InputStreamReader(System.in);
BufferedReader input=new BufferedReader(reader);
System.out.print("Please input the number:");
int month=input.readLine();
switch(month){
case 1:System.out.println("January");break;
case 2:System.out.println("February");break;
case 3:System.out.println("March");break;
case 4:System.out.println("April");break;
case 5:System.out.println("May");break;
case 6:System.out.println("June");break;
case 7:System.out.println("July");break;
case 8:System.out.println("August");break;
case 9:System.out.println("September");break;
case 10:System.out.println("October");break;
case 11:System.out.println("November");break;
case 12:System.out.println("December");break;
}
}
}
import java.io.*;
public class Month{
public static void main(String[] args) throws IOException{
InputStreamReader reader=new InputStreamReader(System.in);
BufferedReader input=new BufferedReader(reader);
System.out.print("Please input the number:");
int month=input.readLine();
switch(month){
case 1:System.out.println("January");break;
case 2:System.out.println("February");break;
case 3:System.out.println("March");break;
case 4:System.out.println("April");break;
case 5:System.out.println("May");break;
case 6:System.out.println("June");break;
case 7:System.out.println("July");break;
case 8:System.out.println("August");break;
case 9:System.out.println("September");break;
case 10:System.out.println("October");break;
case 11:System.out.println("November");break;
case 12:System.out.println("December");break;
}
}
}
这句出错了, readLine()返回的是String类型,应改成如下语句:
int month=Integer.parseInt(input.readLine());
类型不对
应该改为:
int month = 0;
try{
month = Integer.parseInt(input.readLine());
} catch (NumberFormatException e){
e.printStackTrace();
System.err.println("字符串转换数字时发生错误!");
...
}
public class Month{
public static void main(String[] args) throws IOException{
InputStreamReader reader=new InputStreamReader(System.in);
BufferedReader input=new BufferedReader(reader);
System.out.print("Please input the number:");
int month = 0;
try{
month = Integer.parseInt(input.readLine());
} catch (NumberFormatException e){
e.printStackTrace();
}
switch(month){
case 1:System.out.println("January");break;
case 2:System.out.println("February");break;
case 3:System.out.println("March");break;
case 4:System.out.println("April");break;
case 5:System.out.println("May");break;
case 6:System.out.println("June");break;
case 7:System.out.println("July");break;
case 8:System.out.println("August");break;
case 9:System.out.println("September");break;
case 10:System.out.println("October");break;
case 11:System.out.println("November");break;
case 12:System.out.println("December");break;
}
}
}
import java.io.*;
public class Month{
public static void main(String[] args) throws IOException{
InputStreamReader reader=new InputStreamReader(System.in);
BufferedReader input=new BufferedReader(reader);
System.out.print("Please input the number:");
String month = input.readLine();
switch(month){
case "1":System.out.println("January");break;
case "2":System.out.println("February");break;
case "3":System.out.println("March");break;
case "4":System.out.println("April");break;
case "5":System.out.println("May");break;
case "6":System.out.println("June");break;
case "7":System.out.println("July");break;
case "8":System.out.println("August");break;
case "9":System.out.println("September");break;
case "10":System.out.println("October");break;
case "11":System.out.println("November");break;
case "12":System.out.println("December");break;
}
}
}