写一些显示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..)
请帮忙!
答案 0 :(得分:1)
改变这个:
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。
答案 1 :(得分:0)
我一直在努力解决这类问题。我想知道你是否有关于自动换行与回车的问题。
要对此进行测试,请将代码中的\n
替换为x
等字符,然后查看行为。
如果您仍然获得新行,则可能是自动换行,而不是\n
。
只是一个猜测。希望有所帮助。