import java.util.Scanner;
public class Year
{
  public static void main(String []args) 
  {
  Scanner sc=new Scanner(System.in);
   
  System.out.println("请输入年份:");
int years=sc.nextInt();
  if(years/4==0 && years/400==0 && years/100!=0)
  {
  System.out.println(years+"年是闰年");
  }
  else
  {
  System.out.println(years+"年是平年");
  }
  }
  
}上面的代码中我想判断用户输入的是不是整型(int)怎么判断呀?
  刚接触Java 各位不要见笑哈

解决方案 »

  1.   


    首先算法有错:
    years/4==0 && years/400==0 && years/100!=0“/”改成“%”
      

  2.   


    if((int)years  == years)     true,就是int型,false就不是int型
      

  3.   

    else  if((int)years!= years)
       {
        System.out.println("你的输入有误!!请正确输入");
       }是这样吗?我这样写的 但错了
      

  4.   

    while循环输入,错误try catch 重输
    哎。给你一个例子吧
    public class ScannerDemo {
        public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    while(sc.hasNext()){
     try{
    int i = sc.nextInt();
    System.out.println(i);
     }catch(InputMismatchException e){
     System.out.println("请输入一个数字");
     sc.next();
     }
    }
    }
    }
      

  5.   

    其实 你的程序这样可能会引发异常  就是当你输入小数 或其他非整型的时候出现,你可以对你的程序进行一个异常捕捉   import java.util.Scanner;
    public class Year
    {
      public static void main(String []args)  
      {
       try
       {
     Scanner sc=new Scanner(System.in);
        
      System.out.println("请输入年份:");
    int years=sc.nextInt();
      if(years/4==0 && years/400==0 && years/100!=0)
      {
      System.out.println(years+"年是闰年");
      }
      else
      {
      System.out.println(years+"年是平年");
      }
       }
       catch(Exception e)
       {
       System.out.println("您输入的为非法数字!");
       }  }
       
    }这是我改过的 你可以试试