【发布时间】:2015-02-11 00:25:02
【问题描述】:
我是 Java 新手,我的作业是编写一个程序,让用户输入一个数字,然后程序检查该数字是否为质数。
我必须使用任何循环和 JOptionPane 进行输入。
我已经设法编写了这段代码并且它可以工作:
import static javax.swing.JOptionPane.*;
public class Programmeringsoppgave5 {
public static void main(String[] args) {
int number = 0;
String readNumber = showInputDialog("Write a number and exit with ESC");
while (readNumber != null){
number = Integer.parseInt(readNumber);
if (number != 0 && (number == 1 || number == 2)){
System.out.println("Number " + readNumber + " is a prime number.");
} else if (number % 2 == 0){
System.out.println("Number " + readNumber + " is not a prime number.");
} else if (number % 2 == 1){
System.out.println("Number " + readNumber + " is a prime number.");
}//end if-test
readNumber = showInputDialog("Write a number and exit with ESC");
}//end while
} //end method
}//end class
我想知道是否有更简单或更好的方法来编写这个程序?
【问题讨论】:
-
if (number % 2 == 1){ System.out.println("Number " + readNumber + " is a prime number.");}抱歉,这不是质数的定义。 9%2 == 1 但 9 不是素数。 -
在 0、1 和 2 之后,这基本上只是检查一个数字是偶数还是奇数。
-
啊,我现在明白了。我总是可以做许多嵌套的 if 并检查每个素数,但这可能是非常糟糕的编程。
标签: java loops primes joptionpane