primenumbers.java
来自「输入一个自然数,然后找出所有小于它的素数,并打印出来」· Java 代码 · 共 68 行
JAVA
68 行
package example;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
/**
* Finds all the prime numbers within a range.
*
*/
public class PrimeNumbers {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Please input the upper bound of the range: ");
String input = br.readLine();
if (input != null) {
try {
int max = Integer.parseInt(input);
List<Integer> primeNumbers = findPrimeNumbers(max);
if (primeNumbers != null && primeNumbers.size() != 0) {
System.out.println("Found " + primeNumbers.size()
+ " prime number(s) in this range, which are:");
for (Integer num : primeNumbers) {
System.out.print(num + " ");
}
} else {
System.out.println("No prime numbers found.");
}
System.out.println();
} catch (NumberFormatException e) {
System.err.println("Did you input an integer? Exiting.");
}
} else {
System.out.println("No input is given. Exiting.");
}
}
private static List<Integer> findPrimeNumbers(int range) {
ArrayList<Integer> primeNumbers =new ArrayList<Integer>( );
if(range==1){
return null;
}
if(range==2){
primeNumbers.add(range);
return primeNumbers ;
}
else{
primeNumbers.add(2);
for (int i = 3; i <=range; i++) {
for (int j = 2; j <i; j++) {
if(i%j==0){
break;
}
else{
if(j==i-1){
primeNumbers.add(i);
}
}
}
}
return primeNumbers ;
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?