public class LeapYear {
public static void main(String[] args){
int year = Integer.parseInt(args[0]);
int leap; // 1表示闰年,0表示不是闰年
if(year % 4 == 0){ // 判断能否被4整除
if (year %100 ==0){
if (year %400==0)
leap = 1;
else leap = 0;
}
else 
leap =1; // 是闰年
}
else leap = 0;
if (leap==1)
System.out.println(year +"年是闰年");
else 
System.out.println(year +"年不是闰年");
}
}

解决方案 »

  1.   

    将传入的第一个参数转为int,并赋值给year
      

  2.   


     字符转换为int型,获取
      

  3.   

    先回家把main方法好好研究研究吧!
      

  4.   

    String [] args 这是定义了一个字符串数组,在java LeapYear 后面加,这是参数。再有,int year = Integer.parseInt(args[0]);这是把字符串形式转成整型
      

  5.   

    那为什么普通编译通不过,要用run as conf....?
      

  6.   

    不管是不是main函数,读取参数数组的第一个字符串并转型成Int也应该知道啊。
    编译不可能有问题。
      

  7.   

    你是不是没有加数字
    你运行的时候应该 
    java LeapYear.java
    javac LeapYear 2010
      

  8.   

    main函数的使用方法,在执行时后面空一格,然后再后面输入字符串数组,在main里面可以用args[0],获取你输入数组的第一个字符串,依次类推args[1]获得第二个字符串
      

  9.   

    int year = Integer.parseInt(args[0]);
    将从控制台输入的字符串强转为Int类型~
      

  10.   

    简单的来说就是根据你在命令行中输入的参数来算是否是润年,String[] args参数是从命令行获得的,而你说输入的年份类型为字符串,在运算中你使用的是int型,所以需要int的包装类Integer类的parseInt()方法将类型转换为int,arg[0]表示的是你命令行中传入参数的第一个。
      

  11.   

    错了,应该是
    javac LeapYear.java
    java LeapYear 2010至于为什么后面加一个数字,12楼说的很明白
      

  12.   

    传入的第一个参数,然后转化成int类型。。