2

问题:

CalendarTest.java:9: error: cannot find symbol
    int today = d.get(Calendar.DAY_OF_MONTH);
                   ^
symbol:   method get(int)
location: variable d of type GregorianCalendar

我的代码:

import java.util.*;

public class CalendarTest
{
 public static void main(String[] args)
 {
    GregorianCalendar d = new GregorianCalendar();

    int today = d.get(Calendar.DAY_OF_MONTH);
 }
}  

所以,到目前为止我所做的是检查 API(get 和 set 方法根本不起作用)。我也一直在搜索 stackoverflow 和 google 以获得有关该问题的一些帮助,但没有任何积极的结果。

尝试在 Java 6 和 Java 7 之间切换,但没有任何结果。一直在为 Calendar 而不是 GregorianCalendar 执行此操作,但问题仍然存在。

我在 Ubuntu 12.04 上运行。我不知道出了什么问题,因为这些方法包含在 GregorianCalendar 类中(据 API 所说)

还,

CalendarTest.java:8: error: constructor GregorianCalendar in class GregorianCalendar cannot be applied to given types;
GregorianCalendar asd = new GregorianCalendar(2000, 10, 25);
                        ^
required: no arguments
found: int,int,int
reason: actual and formal argument lists differ in length

也不会工作。它说参数(int,int,int)是错误的。好吧,它不应该,不是吗?

请帮我解决这个问题,因为我不能再进一步了(做 Core JAVA 2 Basics)

4

1 回答 1

1

您发布的代码很好。我强烈怀疑你GregorianCalendar的类路径上有另一个类。我建议您查找并删除它。请注意,Calendar.DAY_OF_MONTH它本身似乎已正确找到。

您可能想尝试的一件事(只是为了查看哪个包有问题)是明确指定类型:

java.util.GregorianCalendar d = new java.util.GregorianCalendar();
int today = d.get(java.util.Calendar.DAY_OF_MONTH);

我怀疑这会起作用,在这种情况下,您应该GregorianCalendar在默认包中查找类型。

如果这仍然不起作用,则表明您的 Java 安装已损坏。

于 2013-08-18T19:21:56.373 回答