[英]Could not find or load main class in java due to placing a package name
在我為我的班級創建包名之前,我正確地完成了我的工作。 在給我的類一個包名后,我遇到了類似 ** 無法找到或加載主類 ** 這樣的問題,請檢查我下面的代碼
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
我這邊有什么錯誤。請注意,我使用記事本編寫程序。編譯程序后,它沒有創建任何包
好的。 我復制了你的代碼並弄清楚了。 首先編譯一切
javac *.java -d .
然后在 FindDiff 中聲明的包將被創建為文件夾結構,並且 .java 文件將被編譯成這些
不,你可以通過寫作來運行它
java c2.get.pack.FindDiff
FindDiff
類不是公共的,因此您在其中聲明的 main 方法不能作為入口點。
公開FindDiff
。
public class FindDiff { /* ... */ }
[編輯:進一步討論和發現評論中的問題導致了 Tom K 的回答,解決了文件名問題]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.