写一些东西,显示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 );
}
这就是我所拥有的,它显示所有的数字,每个line....but显示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..)
请帮帮我!
发布于 2013-03-28 05:52:18
更改此设置:
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之后添加很多换行符...元素。
Om,我会考虑使用StringBuilder。
发布于 2013-03-28 05:51:06
我一直在与这类事情作斗争。我想知道你是不是遇到了换行和回车的问题。
要测试这一点,请将代码中的\n
替换为字符,如x
,然后查看行为。
如果您仍然获得新行,它们可能是换行,而不是\n
。
只是猜测而已。希望这能有所帮助。
https://stackoverflow.com/questions/15670058
复制相似问题