📅  最后修改于: 2023-12-03 14:43:03.723000             🧑  作者: Mango
本程序旨在演示如何使用Java语言编写程序来显示两个时间间隔之间的所有质数。在本程序中,我们使用了两个时间变量 startTime
和 endTime
来指定时间间隔,然后遍历这个时间间隔中的所有整数,判断它们是否为质数。
判断一个数是否为质数的常见方法有两种:
在本程序中,我们使用了试除法来判断一个数是否为质数。
下面是完整的Java代码:
import java.util.Scanner;
public class PrimeNumbersBetweenIntervals {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter start time in milliseconds: ");
long startTime = scanner.nextLong();
System.out.print("Enter end time in milliseconds: ");
long endTime = scanner.nextLong();
System.out.println("Prime numbers between " + startTime + " and " + endTime + " are:");
for (long i = startTime; i <= endTime; i++) {
if (isPrime(i)) {
System.out.print(i + " ");
}
}
}
public static boolean isPrime(long number) {
if (number <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(number); i++) {
if (number % i == 0) {
return false;
}
}
return true;
}
}
在这个程序中,我们先通过 Scanner
类从控制台读入两个时间变量 startTime
和 endTime
,然后使用 for
循环遍历从 startTime
到 endTime
之间的所有整数,判断它们是否为质数,如果是则输出到控制台上。
判断一个数是否为质数的方法 isPrime
接受一个数作为参数,如果这个数小于等于1则直接返回 false
,否则从2到它的平方根循环遍历,如果它能够被任何一个小于等于它的正整数整除,则它不是质数,返回 false
,否则它是质数,返回 true
。
long
类型来存储时间变量,因为时间戳可能超出 int
类型的范围。