java – 在Joptionpane中显示多行?

嗨我是这个论坛的新手,也是
java的新手,我需要一些帮助来介绍我的java作业.我完成了大部分逻辑.问题是要编写一个程序,显示100到1000之间的所有数字,每行10个,可以被5和6整除.数字只用一个空格分隔.我的教授希望它在Joptionpane窗口中完成.当我尝试这样做时,窗口中只会弹出一个答案.如何让我的答案出现在一行中,只在一个窗口中只有一个空格分隔?我的教授希望我们使用转义函数来显示答案行.

public class FindFactors {
    public static void main(String[] args) {
        String message = "";
        final int NumbersPerLine = 10;    // Display 10 numbers per line
        int count = 0; // Count the number of numbers divisible by 5 and 6

        // Test all numbers from 100 to 1,000

        for (int i = 100; i <= 1000; i++) {
            // Test if number is divisible by 5 and 6
            message = message + " " + i;
            count++;
            if (count == 10) {
                message = message + "\r\n";
                count = 0;
            }
            if (i % 5 == 0 && i % 6 == 0) {
                count++;    // increment count
                // Test if numbers per line is 10
                if (count % NumbersPerLine == 0)
                    JOptionPane.showMessageDialog(null, i);
                else
                    JOptionPane.showMessageDialog(null, (i + " "));
            }
        }
    }
}

最佳答案 请参阅以下方法,对您的代码稍作更改,并提供所需的输出.

public class FindFactors {
public static void main(String[] args) {
final int NumbersPerLine = 10;    // Display 10 numbers per line
int count = 0; // Count the number of numbers divisible by 5 and 6
// Test all numbers from 100 to 1,000
String numbersPerLine = "";
for (int i = 100; i <= 1000; i++) {
    // Test if number is divisible by 5 and 6
    if (count == 10) {           
        count = 0;
    }
    if (i % 5 == 0 && i % 6 == 0) {
        numbersPerLine =numbersPerLine+" "+i;
        count++;    // increment count
        // Test if numbers per line is 10

        if (count % NumbersPerLine == 0) 
            numbersPerLine =numbersPerLine+"\n";
    }
}
JOptionPane.showMessageDialog(null, numbersPerLine);
}
}
点赞