在 java 中使用日历。获取无法找到符号的编译错误
Using Calendar in java. Getting a compilation error of cannot find symbol
我遇到找不到符号的错误
getInstance(),Calendar.DATE,Calendar.MONTH,Calendar.YEAR
只有当我在 VS Code 上 运行 离线时才会发生这种情况。
在 运行 在线 IDE (Hacker Rank) 上,我编译成功。
JDK 11 在桌面上,JDK 8 在 Hacker Rank 上。
我已经在多个 IDE 上尝试 运行 它并且只在 JDK 8
上编译成功
import java.util.*;
import java.lang.*;
import java.io.*;
class Calendar {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int day = sc.nextInt();
int month = sc.nextInt();
int year = sc.nextInt();
Calendar c = Calendar.getInstance();
c.set(Calendar.DATE, day);
c.set(Calendar.MONTH, month - 1);
c.set(Calendar.YEAR, year);
System.out.println(c.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.LONG, new Locale("en", "US")).toUpperCase());
}
}
您的问题是您已经命名了您的 class 日历,然后试图使用一个名为日历的系统 class。调用 Calendar.getInstance() 无法编译,因为编译器正在寻找要在您的日历 class 中定义的名为 getInstance() 的方法。将您的 class 命名为其他名称,我认为您的代码可以编译并正常工作。
我遇到找不到符号的错误
getInstance(),Calendar.DATE,Calendar.MONTH,Calendar.YEAR
只有当我在 VS Code 上 运行 离线时才会发生这种情况。 在 运行 在线 IDE (Hacker Rank) 上,我编译成功。 JDK 11 在桌面上,JDK 8 在 Hacker Rank 上。 我已经在多个 IDE 上尝试 运行 它并且只在 JDK 8
上编译成功import java.util.*;
import java.lang.*;
import java.io.*;
class Calendar {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int day = sc.nextInt();
int month = sc.nextInt();
int year = sc.nextInt();
Calendar c = Calendar.getInstance();
c.set(Calendar.DATE, day);
c.set(Calendar.MONTH, month - 1);
c.set(Calendar.YEAR, year);
System.out.println(c.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.LONG, new Locale("en", "US")).toUpperCase());
}
}
您的问题是您已经命名了您的 class 日历,然后试图使用一个名为日历的系统 class。调用 Calendar.getInstance() 无法编译,因为编译器正在寻找要在您的日历 class 中定义的名为 getInstance() 的方法。将您的 class 命名为其他名称,我认为您的代码可以编译并正常工作。