编写测试类Test01.java,计算并打印从1到100的所有的素数
时间: 2024-09-12 16:15:34 浏览: 34
编写一个名为`Test01.java`的测试类,用于计算并打印1到100之间的所有素数,你可以按照以下步骤来设计:
```java
public class Test01 {
public static void main(String[] args) {
for (int i = 2; i <= 100; i++) {
if (isPrime(i)) {
System.out.println(i + " 是素数");
}
}
}
// 检查一个数是否为素数
private static boolean isPrime(int num) {
if (num <= 1) {
return false;
}
for (int j = 2; j * j <= num; j++) {
if (num % j == 0) {
return false;
}
}
return true;
}
}
```
在这个程序中,`main`方法会遍历从2到100的所有整数,对每个数调用`isPrime`方法检查它是否为素数。如果一个数能被除了1和它本身以外的其他数整除,那么它就不是素数。
相关问题
声明一个数学工具类,MathTool,求数组arr最大值,判断a是否是素数,返回d的四舍五入的整数值,编写测试类Test
好的,以下是MathTool类和Test测试类的代码:
```java
public class MathTool {
/**
* 求数组arr最大值
* @param arr 数组
* @return 最大值
*/
public static int max(int[] arr) {
int maxVal = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i] > maxVal) {
maxVal = arr[i];
}
}
return maxVal;
}
/**
* 判断a是否是素数
* @param a 数字
* @return 是否是素数
*/
public static boolean isPrime(int a) {
if (a <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(a); i++) {
if (a % i == 0) {
return false;
}
}
return true;
}
/**
* 返回d的四舍五入的整数值
* @param d 浮点数
* @return 四舍五入的整数值
*/
public static int round(double d) {
return (int) Math.round(d);
}
}
```
```java
public class Test {
public static void main(String[] args) {
int[] arr = {1, 5, 2, 7, 3};
int maxVal = MathTool.max(arr);
System.out.println("数组arr的最大值是:" + maxVal);
int a = 13;
boolean isPrime = MathTool.isPrime(a);
if (isPrime) {
System.out.println(a + "是素数");
} else {
System.out.println(a + "不是素数");
}
double d = 3.14159;
int roundVal = MathTool.round(d);
System.out.println(d + "四舍五入后的整数值是:" + roundVal);
}
}
```
这里的MathTool类中包含了三个静态方法,分别用于求最大值、判断素数和浮点数四舍五入后的整数值。Test类中则对这三个方法进行了测试。
用java语言编写程序求出给定范围内所有的回文素数,要求(1)使用一类方法判断一个整数是否是素数;(2)使用一类方法判断一整数是否是回文。 然后在测试类中找出给出的整数n到m范围内所有的回文素数。
在Java中,我们可以定义两个方法分别用于判断一个数是否是素数和回文数:
1. 判断素数的方法:
```java
public static boolean isPrime(int num) {
if (num <= 1) return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) return false;
}
return true;
}
```
这个方法从2开始遍历到根号下的数字,如果找到能整除的数就不是素数。
2. 判断回文数的方法:
```java
public static boolean isPalindrome(int num) {
int reversedNum = 0, originalNum = num;
while (originalNum != 0) {
int digit = originalNum % 10;
reversedNum = reversedNum * 10 + digit;
originalNum /= 10;
}
return reversedNum == num;
}
```
这个方法通过不断地取数的个位,反转数,然后比较原数和反转后的数是否相等来判断是否为回文。
接下来,在`Test`类或类似测试类中,你可以创建一个方法来找出指定范围内的回文素数:
```java
public class Test {
public static void findPalindromicPrimes(int n, int m) {
for (int i = n; i <= m; i++) {
if (isPrime(i) && isPalindrome(i)) {
System.out.println(i);
}
}
}
// 主函数,用于接收用户输入并调用findPalindromicPrimes方法
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入起始范围(包含): ");
int start = scanner.nextInt();
System.out.print("请输入结束范围(包含): ");
int end = scanner.nextInt();
findPalindromicPrimes(start, end);
}
}
```
当你运行这个程序时,它会提示用户输入范围,并打印出该范围内所有的回文素数。
阅读全文