c语言的形式如下:
main(){
int a;
scanf("%d",&a);
printf(a%(a%100?4:400)?"NO":"YES");
}怎么样用java表示出类似的形式

解决方案 »

  1.   


    public static void main(String args[])throws Exception{
           String line= System.console().readLine();
           int a=Integer.parseInt(line);
           System.out.println(a%(a%100==0?4:400)==0?"NO":"YES");
       }
      

  2.   

    再来个异常处理就完美了。不过楼主是不是要求是否闰年啊
    感觉逻辑有点问题;
    a%(a%100==0?4:400)==0?"NO":"YES"
    如 a = 2001;
    a%100==0?4:400 返回的是 400;
    2001%400 != 0, 最后判断 2001 是闰年a = 2002,2003,2004 都是闰年?
      

  3.   

    求闰年的话 应该是
     i%(i%100 == 0? 400 : 4 ) == 0 ? “YES”: “NO”;
      

  4.   

    import java.util.Scanner;
    public class TestInJava {
          public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                int a = sc.nextInt();
                System.out.println(a%(a%100?4:400)?"NO":"YES");
          }
    }