我一直在为我的计算机编程课编写一个程序,但遇到了一些麻烦。说实话,我快要疯了……
它是一个日历程序,我遇到问题的部分是 java 中的 Calendar 对象。这是我的一种方法的代码:
public static void calendarGet(){
String md = getInput("What date would you like to look at?(mm/dd)");
int slash = md.indexOf('/');
MDFromDate(md);
cal.set(cal.MONTH, MONTH - 1);
cal.set(cal.DATE, DAY);
TARGET_DAY = DAY;
MAX_DAY = cal.getActualMaximum(cal.DAY_OF_MONTH);
WEEKS_IN_MONTH = MAX_DAY / 7;
System.out.println(cal.MONTH + 1);
System.out.println(cal.DAY_OF_MONTH);
System.out.println(cal.getTime());
drawMonth(cal.MONTH);
}
输出是:
What date would you like to look at?(mm/dd)12/12
3
5
Wed Dec 12 22:47:32 PST 2018
如您所见,如果我使用 getTime(); 它返回正确的月份和日期,但 cal.MONTH 和 cal.DAY_OF_MONTH 没有。
此外,当我使用调试器并查看 cal 时,没有任何变量发生变化。
我非常困惑,我将不胜感激!:D
编辑:
public static String getInput(String prompt){
System.out.print(prompt);
Scanner inScan = new Scanner(System.in);
return inScan.nextLine();
}
public static void MDFromDate(String md){
Scanner getMD = new Scanner(md).useDelimiter("/");
MONTH = getMD.nextInt();
DAY = getMD.nextInt();
}