public class IntIfSwith{
public static void main(String[] args){
    int i=Integer.paresInt(System.in);//修改后
    int month=Integer.paresInt(System.int);//修改后
if (i>=1&&i<=12){
month=i;
}else{
              System.out.println("Please type it again");
}//break;去掉
switch(month){
    case 1:System.out.println(month+"31");break;
    case 2:System.out.println(month+"2");break;
    case 3:System.out.println(month+"31");break;
    case 4:System.out.println(month+"30");break;
    case 5:System.out.println(month+"31");break;
    case 6:System.out.println(month+"30");break;
    case 7:System.out.println(month+"31");break;
    case 8:System.out.println(month+"31");break;
    case 9:System.out.println(month+"30");break;
    case 10:System.out.println(month+"31");break;
    case 11:System.out.println(month+"30");break;
    case 12:System.out.println(month+"31");break;
   }
}
}

解决方案 »

  1.   

    楼主对类的概念,还有类在java中的体现还不是很理解。所以才会犯错。
      

  2.   

    如果要用 System.in.read() 的话就要 try{}catch(){} 捕获异常.
      

  3.   

    up
    public class IntIfSwith{
    public static void main(String[] args){
        int i=Integer.paresInt(System.in);//修改后
        int month=Integer.paresInt(System.int);//修改后
    if (i>=1&&i<=12){
    month=i;
    }else{
                  System.out.println("Please type it again");
    }//break;去掉
    switch(month){
        case 1:System.out.println(month+"31");break;
        case 2:System.out.println(month+"2");break;
        case 3:System.out.println(month+"31");break;
        case 4:System.out.println(month+"30");break;
        case 5:System.out.println(month+"31");break;
        case 6:System.out.println(month+"30");break;
        case 7:System.out.println(month+"31");break;
        case 8:System.out.println(month+"31");break;
        case 9:System.out.println(month+"30");break;
        case 10:System.out.println(month+"31");break;
        case 11:System.out.println(month+"30");break;
        case 12:System.out.println(month+"31");break;
       }
    }
    }
      

  4.   

    int month=Integer.paresInt(System.int);//
    这一句什么意思啊!
    写成“int month;”不可以吗?
      

  5.   

    System.in.read()德到的是String得,
    要使用必须
    Integer.parseInt()
    Floater.parseFloat()...
      

  6.   

    int i=Integer.paresInt(System.in);
    int month=Integer.paresInt(System.int);
    我改啦,提示还有有错误
    还有我还是不太理解break地用法,什么时候改用?
    顶~~~~~~~~~~帮忙啊
      

  7.   

    import java.io.*;public class IntIfSwith
    {
    public static int month;
    public static void main(String[] args) throws IOException
    {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    while(true)
    {
    String strInput = br.readLine();
    try
    {
    month = Integer.parseInt(strInput);
    }
    catch(NumberFormatException nfe)
    {
    prt("Not int number,Please type it again:");
    continue;
    }

    if (month>=1 && month<=12)
    {
    break;
    }
    else
    {
                prt("input more than 12 or less than 1,Please type it again:");
    }
    }
    switch(month)
    {
        case 1: prt(month+" 31");break;
        case 2: prt(month+" 28");break;
        case 3: prt(month+" 31");break;
        case 4: prt(month+" 30");break;
        case 5: prt(month+" 31");break;
        case 6: prt(month+" 30");break;
        case 7: prt(month+" 31");break;
        case 8: prt(month+" 31");break;
        case 9: prt(month+" 30");break;
        case 10:prt(month+" 31");break;
        case 11:prt(month+" 30");break;
        case 12:prt(month+" 31");break;
       }
    }
    public static void prt(String str)
    {
    System.out.println(str);
    }
    }