【发布时间】:2014-05-24 13:31:00
【问题描述】:
我已更新代码以反映 BigInteger 编号。但我现在收到显示消息错误。语法错误在 IsPrime 下。如何更改此字符串输出以向用户显示正确的显示消息?这是我的代码:
public static void main (String [] args){
//prompt user to input a number
String input = JOptionPane.showInputDialog("Enter number ");
// change string to int
int number = Integer.parseInt(input);
//display message to user of their results
BigInteger num = new BigInteger(input);
String output = number + " is" + (BigInteger(input) ? " " : " not ") + "a prime number: " + BigInteger(input);
JOptionPane.showMessageDialog (null, output);
}
public static Boolean IsPrime(BigInteger num) {
// check if number is a multiple of 2
if (num.mod(new BigInteger("2")).compareTo(BigInteger.ZERO) == 0) {
return false;
}// if not, then just check the odds
for (BigInteger i = new BigInteger("3"); i.multiply(i).compareTo(num) <= 0; i =
i.add(new BigInteger("2"))) {
if (num.mod(i).compareTo(BigInteger.ZERO) == 0) {
return false;
}
}
return true;
}
}
【问题讨论】:
-
按照惯例,方法和变量的名称以小写开头(与类名相反)。进入你的问题,首先,你永远不会打电话给
IsPrime(int)。 -
一旦
IsPrime为假就打破循环。遵循 java 命名约定。 -
+num是什么意思?有什么意义吗?
标签: java swing user-interface boolean