【发布时间】:2026-01-05 17:45:02
【问题描述】:
在我为我的班级创建一个包名之前,我已经正确地完成了我的工作。在为我的班级提供包名后,我遇到了**找不到或加载主类**之类的问题,请检查我的以下代码
package c2.get.pack;
import java.util.*;
import java.lang.*;
class FindDiff
{
public static void main(String[] args)
{
ArrayList<Integer> arr=new ArrayList<Integer>();
arr.add(1);
arr.add(2);
arr.add(5);
arr.add(5);
arr.add(7);
arr.add(7);
arr.add(11);
System.out.println("Prime number in ArrayList :"+arr);
Set<Integer> set=new HashSet<Integer>(arr);
arr.clear();
arr.addAll(set);
System.out.println("Prime number in Set :"+arr);
Iterator itr=set.iterator();
while(itr.hasNext()){
int num=(int)itr.next();
System.out.println(num);
}
}
我得到了这样的错误结果
首先我用类名编译文件,如
G:\java\java_programs\logics>javac FindDiff.java
之后尝试使用包名运行程序我给出错误
G:\java\java_programs\logics>java c2.get.pack.FindDiff
Error: Could not find or load main class c2.get.pack.FindDiff
我这边的错误是什么。请注意我使用记事本编写程序。编译程序后它没有创建任何包
【问题讨论】:
-
包层次结构定义目录层次结构。如果您的 Java 源代码显示它在包
c2.get.pack中,则该文件应位于../c2/get/pack/FindDiff.java。 -
但在这里我找不到任何包裹@DaveNewton
-
@TomK 它再次给出相同的运行时错误
-
即使公开后,您仍然必须将其保存在正确的目录层次结构中。
-
@DaveNewton 是的,我可以用我的文件名找到 .class,但它没有工作
标签: java