*10.6(显示素数)
题目
*10.6(显示素数)编写一个程序,然后按降序显示小于120的所有素数。使用StackOfIntegers类存储这些素数(例如:2、3、5、…),获取之后按逆序显示它们
程序说明
Test6.java:测试程序
Test6_StackOfIntegers.java:构造程序
代码
Test6.java
import java.util.Arrays;
import java.util.Scanner;
public class Test6 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入一个整数:");
int num = input.nextInt();
Test6_StackOfIntegers soi = new Test6_StackOfIntegers(num);
int[] arr = soi.getIntegers();
Arrays.sort(arr);
for (int i = arr.length - 1 ; i >= 0 ; i--){
System.out.print(arr[i] + " ");
}
}
}
Test6_StackOfIntegers.java
public class Test6_StackOfIntegers {
int num;
public Test6_StackOfIntegers(int num){
this.num = num;
}
public int[] getIntegers(){
int[] feedback = new int[0], temp;
int length;
boolean bool;
for (int i = 2 ; i < num ; i++){
bool = true;
for (int n = 2 ; n < i ; n++){
if (i % n == 0){
bool = false;
}
}
if (bool){
temp = new int[feedback.length + 1];
length = feedback.length;
for (int index = 0 ; index < length ; index++){
temp[index] = feedback[index];
}
temp[length] = i;
feedback = temp;
}
}
return feedback;
}
}
运行实例
请输入一个整数:120
113 109 107 103 101 97 89 83 79 73 71 67 61 59 53 47 43 41 37 31 29 23 19 17 13 11 7 5 3 2