导入java.util.Scanner与同一文件中定义的文件冲突

package scanner; import java.util.Scanner; public class Scanner { public static void main(String[] args) { Scanner input = new Scanner (System.in); String line = input.nextLine(); } } 

为什么我收到一条错误消息,说“导入java.util.Scanner”与同一文件中定义的文件冲突?

您自己的类名为Scanner ,您正在导入另一个名为Scanner类。 这意味着编译器在创建Scanner类型的变量时不知道您指的是哪个Scanner类。

尝试将您的课程重命名为其他内容。

或者你可以这样使用java.util.Scanner而无需重命名你自己的类:

 public static void main(String[] args) { java.util.Scanner input = new java.util.Scanner(System.in); ... } 

您不应该将您的类命名为Scanner,因为Scanner已经作为Java中的类存在。 重命名你的class级。

将您的类重命名为其他内容,例如:

 package scanner; import java.util.Scanner; public class ScannerTest { public static void main(String[] args) { Scanner input = new Scanner (System.in); String line = input.nextLine(); } } 

您不能拥有两个扫描仪,将您的类重命名为.java文件MyScanner并且您是金色的。

如果您确实要将类命名为“Scanner”,则可以使用通配符import语句:

import java.util.*

这将解决名称冲突。