[英]Can't import a class in java. Code refuses to believe it exists
好的,所以我編寫了要查找圓形,三角形和正方形區域的代碼。 我的軟件包文件夾Mung中有兩個Java文件。 由於某種原因,我不斷收到錯誤Shapes.java:2:錯誤:包Mung不存在
這是我的代碼。
import java.io.*; import java.util.*;
import Mung.*;
public class Shapes
{
public static void main(String args[])
{
System.out.println(areaSquare());
System.out.println(areaCircle());
System.out.println(areaTriangle());
}
}
和
import java.io.*; import java.util.*;
public class ShapesAssignment
{
public ShapesAssignment (double r,double h,double w)
{
double radius = r;
double height = h;
double width = w;
}
public double areaCircle()
{
double cArea = Math.PI * radius;
return cArea;
}
public double areaTriangle()
{
double tArea = (height*width)/2;
return tArea;
}
public double areaSquare()
{
double sArea = (height*width);
return sArea;
}
public double radius;
public double height;
public double width;
}
您能否在Eclipse中拍攝項目樹的屏幕截圖? 如果Mung是一個類,從這里看起來像是一個類,那么您就不會那樣導入它。 您將導入在其中找到Mung類的包。 如果我誤會了,那是因為您對軟件包的命名不正確。 它看起來應該像這樣:
import com.company.app.<name>
什么是明包,您真的需要嗎? 讓我們嘗試一下:
import java.io.*;
import java.util.*;
public class Shapes {
public static void main(String args[]) {
ShapesAssignment sp = new ShapesAssignment(2, 3, 4);
System.out.println(sp.areaSquare());
System.out.println(sp.areaCircle());
System.out.println(sp.areaTriangle());
}
}
將兩個Java文件放在同一文件夾中並不意味着它們位於同一包中。
也許確實不需要導入任何內容-檢查這兩個文件( Mung
源文件和您要在其中使用Mung
)是否都在默認包中(這些文件都不以關鍵字package
開頭... ),您只需在其他文件中使用Mung
,而無需指定任何導入)
如果這些文件中至少有一個以package
關鍵字開頭,則這些文件位於其他軟件包中。 您需要確保要導入的文件以word package
開頭(我想Mung
不是包,而是類-包名稱以小寫字母開頭,我認為Mung
就是您需要一種方法的類從中導入)。 檢查包含需要從中導入的類的文件,如果它以諸如package mypackage.xyz;
類的文件開頭package mypackage.xyz;
。
如果它不是以word package
開頭的,那么您將無法使用import
關鍵字從此文件中導入任何內容,因為此文件中的所有內容均位於默認包中(Java不允許使用來導入默認包中包含的任何內容。 import
關鍵字)。
如果它位於default以外的任何其他包中,請使用該包的全名和該類的名稱導入它,例如:
import mypackage.xyz.Mung.*;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.