年龄计算错误

时间:2014-10-06 02:02:33

标签: java

当我运行此代码时,它说没有找到主程序,因为我失踪了     public static void main(String [] args但它不允许我同时使用这两个。如何解决这个问题?

import java.util.Calendar;
import java.util.Scanner;

public class Week6Methods4 {

    public int getAge(int year, int month, int day) {
        Date now = new Date();
        int nowMonth = now.setMonth() + 1;
        int nowYear = now.setYear() + 1900;
        int result = nowYear - year;

        if (month > nowMonth) {
            result--;
        } else if (month == nowMonth) {
            int nowDay = now.getDate();

            if (day > nowDay) {
                result--;
            }
        }
        return result;
    }

    public static void main(String[] args) {
        System.out.println("Enter Date of Birth");
        Scanner input = new Scanner(System.in);
        int DOB = input.nextInt();
    }
}

1 个答案:

答案 0 :(得分:0)

帮助您的几点提示

首先,不推荐使用您在Date类中使用的函数

  

<强> 1 即可。得到月()

     

<强> 2 即可。得到年()

Take a look at this

第二,您必须从主方法中定义方法getAge

为什么?

因为getAge是独立的方法,并且像main方法一样唯一

将此用作蓝图

public class Sample {

public void A() {
  ...
  your code
  ...
}
public static void main(String[] args) {
   ...
   your code
   ...
  }
}

在您的新帖子中,您必须为数据类添加正确的导入

将此添加到您的导入

import java.util.Date;

而不是setter你必须使用getter

    int nowMonth = now.setMonth() + 1;
    int nowYear = now.setYear() + 1900;

将其更改为now.getMonth()now.getYear()