我正在使用Netbeans 8.我还在进行计算机科学的初级课程。 我正在尝试编写两个addDays和addMonths方法。 这是方法
public void addMonths(int n) {
month += n;
if (month >= 13) {
month = 0 + n - 1;
}
}
public void addDays(int n) {
day += n;
if (day >= 32) {
day = 0 + n ;
}
}
我知道他们错了。有人可以帮我修理它们吗?请保持简单,不要使用高级编码。
答案 0 :(得分:3)
你的情况应该是这样一个为计算定义的类。这是一个基本类。使用构造函数和3个添加方法。
请注意,这不包含任何数学生成正确的日期,例如feb有28天,闰年有29天。这段代码认为所有月份都是31天。
public class MyDate {
private int year;
private int month;
private int day;
public MyDate(int d,int m,int y){
day=d;
month=m;
year=y;
}
public void addMonths(int n) {
if(n>12){ // Checks if we trying to add more that 12 we add so many years
addYears(n%12);
n-= 12*(n%12);
}
month += n;
if(month>=13){
addYears(1);
month-=12;
}
}
public void addDays(int n) {
if(n>31){
addMonths(n%31);
n-=31*(n%31);
}
day += n;
if(day>=32) {
day-=31;
addMonths(1);
}
}
public void addYears(int n) {
year += n;
}
}
答案 1 :(得分:1)
你可能想要这样的东西:
public void addMonths(int n) {
month += n;
numYear = month/12;
month = (month % 12) + 1;
addYears(numYear);
}
public void addDays(int n) {
day += n;
numMonths = day/31;
day = (day % 31) + 1;
addMonths(numMonths);
}