【发布时间】:2013-03-27 21:40:04
【问题描述】:
写一些显示 1-1000 之间的素数、1-1000 之间的双素数和 1-10,000 之间的完美数的东西。编写这些方法没有任何问题,但 JOptionPane 对话框现在让我发疯。努力尝试在 1-1000 之间的素数每行显示 10 个数字
if( userChoice == 1 )
{
message = String.format( "Prime Numbers between 1-1,000 are:");
for( number = 3; number <= 1000; number++ )
{
if( trueCounter % 10 == 0 )
message += "\n";
prime = isPrime( number );
if( prime == true )
{
message += " " + number;
++trueCounter;
}
}
JOptionPane.showMessageDialog( null, message );
}
这就是我所拥有的,它显示所有数字并每行显示 10 个数字....但它还会在其间显示随机数量的额外行,因此对话框高度最终变得太大。甚至还有一些额外的行,这真的让我感到困惑......就像这样
{3 5 7 11 13 17 19 23 29 31
(8 new lines)
37 41 43 47 53 59 61 67 71 73
(10 new lines..)
请帮忙!
【问题讨论】:
-
if( prime == true )是一种糟糕的风格。将其更改为if( prime )。 -
if( prime ) {add..if( trueCounter % 10 == 0 ) message += "\n";.. (移动换行检查-当前逻辑错误)。 -
感谢指出逻辑错误和关于素数的提示!
标签: java swing loops joptionpane