编写一些内容来显示 1-1000 之间的素数、1-1000 之间的孪生素数以及 1-10,000 之间的完全数。编写这些方法没有任何问题,但 JOptionPane 对话框现在让我发疯。尝试每行显示 10 个 1-1000 之间的素数
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( trueCounter % 10 == 0 )
message += "\n";
prime = isPrime( number );
if( prime == true )
{
message += " " + number;
++trueCounter;
}
对此:
prime = isPrime( number );
if( prime == true )
{
message += " " + number;
++trueCounter;
if( trueCounter % 10 == 0 )
message += "\n";
}
如果没有,您将在第 0 个、第 10 个、第 20 个……元素之后放置大量换行符。
嗯,我会考虑使用 StringBuilder .
关于java - JOptionPane 对话框 - 存在额外行的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15670058/