java - JOptionPane 对话框 - 存在额外行的问题

标签 java swing loops joptionpane

编写一些内容来显示 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/

相关文章:

java - 如何使用java将反斜杠替换为正斜杠?

java - 在非单例中使用@Async 或@Scheduled

java - 使用主键在jsp中显示mysql数据库中的所有数据

java - 选择 JToggleButton 时禁用标准重绘

java - 实际上如何使用 GraphStream 在 swing 中绘制图形?

python - 如何从 Raw_Input 字符串值创建循环

java - 如何在java中打开另一个目录中的文件?

java - 为什么控制台从 JTextArea (Swing) 打印错误文本

r - 在 R 中不使用 for 的先前值的循环计算

javascript - 是否保证 for...of 循环内的异步调用将按顺序返回?