我正在尝试从其他类访问static
方法,例如:
package mersennepackage;
public class A {
public static void foo() { ... }
}
和
import java.primespackage.mersennepackage.*;
public class B {
public static void main(String[] args) {
A.foo();
}
}
我编译了A.java
,类文件在我的桌面上:
/Users/usr/Desktop/primespackage/mersennepackage
。
现在,如何使用A.java
中的B.java
?有人能告诉我编译和执行命令吗?我在MacOsx平台上工作。
我的完整代码是MersennePrime
类A
:
package mersennepackage;
public class MersennePrime {
public static boolean checkForMersenneprime(int n) {
int i;
double d;
d = Math.log(n + 1) / Math.log(2);
i = (int)(Math.floor(d));
if (d - i == 0)
return true;
return false;
}
}
和班级TwinPrimes
为B
:
import java.util.*;
import java.primespackage.mersennepackage.*;
class TwinPrimes {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter the number");
System.out.println(MersennePrime.checkForMersenneprime(sc.nextInt()));
}
}
答案 0 :(得分:1)
首先你需要在MersennePrime类中编辑包名到primespackage.mersennepackage
package primespackage.mersennepackage;
public class MersennePrime{
public static boolean checkForMersenneprime(int n){
int i;
double d;
d=Math.log(n+1)/Math.log(2);
i=(int)(Math.floor(d));
if(d-i==0)
return true;
return false;
}
}
并修复像这样的导入语句
import java.util.*;
import primespackage.mersennepackage.*;
public class TwinPrimes{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("Enter the number");
System.out.println(MersennePrime
.checkForMersenneprime(sc.nextInt()));
}
}
比压缩primespackage文件夹/ dirctory
并将primespackage.zip重命名为primespackage.jar
下一步使用流动推荐编译:
javac -cp "primespackage.jar" TwinPrimes.java
-cp用于将文件挂载到类路径
并且赞扬运行:
java -cp "primespackage.jar" TwinPrimes