一个类方法调用的问题
这个是要求输入一个日期,如 2008年2月3号,则输出这是今年第34天import java.util.*;
public class Nyr {
/**
* 输入日期如:2008 2 3 则输出是今年的第34天
*/
int mdays(int year, int month){
if(month == 2) return (year % 4 == 0 && !(year % 100 == 0) || year % 400 == 0)?29:28;
else if(month == 4 || month == 6 || month == 9 || month == 11)
return 30;
else
return 31;
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入年份: ");
int year = input.nextInt();
System.out.print("请输入月份(1-12): ");
int month = input.nextInt();
System.out.print("请输入日期(1-31): ");
int day = input.nextInt();
while(month > 1){
day += mdays(year,month);
month--;
}
}
}
这个是要求输入一个日期,如 2008年2月3号,则输出这是今年第34天
现在的问题是怎么样把这个day += mdays(year,month); (这边提示不能调用非静态方法mdays,本人不懂啦)
这个位置上的方法调用,或者说上面的mdays 方法是放到哪,然后怎么调用才是对的,本人是新手,不太懂,请各位帮忙了,谢谢!!! static int mdays(int year, int month){ 静态方法里面要通过对象调非静态方法(Nyr now = new Nyr(); day += mdays(year,month);
) 普通方法只能用对象调用 即 Nyr now = new Nyr();
类方法可以用对象也可用类名' Nyr. '调用.
还有上面的month--应该放在调用 方法之前:
while( month>1)
{
month--;
day+=Days.mdays(year,month);
}
System.out.println("是这一年的第"+day+"天");
页:
[1]