.编写一个应用程序,求50以内的素数,并将其打包(java文件命名并放入包中),另写一个应用程序调用该包,在以下情况下,实现类之间的调用: 在同一目录下 II. 在不同目录下
时间: 2024-05-26 17:14:41 浏览: 15
// PrimeNumber.java
package com.example.prime;
public class PrimeNumber {
public static void main(String[] args) {
int n = 50;
for (int i = 2; i <= n; i++) {
boolean isPrime = true;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
System.out.print(i + " ");
}
}
}
}
// PrimeNumberUtil.java
package com.example.prime;
public class PrimeNumberUtil {
public static boolean isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
}
// PrimeNumberCaller.java
package com.example.caller;
import com.example.prime.PrimeNumberUtil;
public class PrimeNumberCaller {
public static void main(String[] args) {
int n = 50;
for (int i = 2; i <= n; i++) {
if (PrimeNumberUtil.isPrime(i)) {
System.out.print(i + " ");
}
}
}
}
// 在同一目录下运行
// 命令行执行 java com.example.prime.PrimeNumber
// 命令行执行 java com.example.caller.PrimeNumberCaller
// 在不同目录下运行
// 命令行进入 PrimeNumber.java 所在的目录
// 编译 PrimeNumber.java javac com/example/prime/PrimeNumber.java
// 进入编译后的目录 cd com/example/prime/
// 打包 PrimeNumber.java 和 PrimeNumberUtil.java 到 prime.jar 中 jar cvf prime.jar PrimeNumber.java PrimeNumberUtil.java
// 回到上级目录 cd ../../
// 进入 PrimeNumberCaller.java 所在的目录 cd com/example/caller/
// 编译 PrimeNumberCaller.java 并指定 classpath javac -cp ../../prime.jar PrimeNumberCaller.java
// 运行 PrimeNumberCaller.java 并指定 classpath java -cp .:../../prime.jar com.example.caller.PrimeNumberCaller