Java 如何在一个对话框窗口中显示for循环的结果?

Java 如何在一个对话框窗口中显示for循环的结果?,java,Java,我目前正在学习一本关于Java的书。我希望程序的输出在一个JOptionPane.showMessageDialog-window中显示多个数字。因此,程序要求用户提供最低和最高的数字,然后在这两个数字之间每隔7个数字显示一次 public void count1() { int min, max; min = Integer.parseInt(JOptionPane.showInputDialog("lowest number")); max = Integer

我目前正在学习一本关于Java的书。我希望程序的输出在一个JOptionPane.showMessageDialog-window中显示多个数字。因此,程序要求用户提供最低和最高的数字,然后在这两个数字之间每隔7个数字显示一次

 public void count1() {
     int min, max;
     min = Integer.parseInt(JOptionPane.showInputDialog("lowest number"));
     max = Integer.parseInt(JOptionPane.showInputDialog("highest number"));
     for (int i = min; i <= max; i += 7) {
         JOptionPane.showMessageDialog(null, i + " ");   
     } 

 }
public void count1(){
最小整数,最大整数;
min=Integer.parseInt(JOptionPane.showInputDialog(“最小值”);
max=Integer.parseInt(JOptionPane.showInputDialog(“最大值”);

对于(int i=min;i您应该有一个变量来保存要显示的消息,该变量由循环内部组成

然后打开对话框

这是一个简单解决方案的示例:

public void count1() {
    int min, max;
    min = Integer.parseInt(JOptionPane.showInputDialog("lowest number"));
    max = Integer.parseInt(JOptionPane.showInputDialog("highest number"));
    String buff = "";
    for (int i = min; i <= max; i += 7) {
        buff += i + " ";
    }
    JOptionPane.showMessageDialog(null, buff);
}
public void count1() {
    int min, max;
    min = Integer.parseInt(JOptionPane.showInputDialog("lowest number"));
    max = Integer.parseInt(JOptionPane.showInputDialog("highest number"));
    StringBuilder buff = new StringBuilder();
    for (int i = min; i <= max; i += 7) {
        buff.append(i).append(" ");
    }
    JOptionPane.showMessageDialog(null, buff.toString());
}
public void count1(){
最小整数,最大整数;
min=Integer.parseInt(JOptionPane.showInputDialog(“最小值”);
max=Integer.parseInt(JOptionPane.showInputDialog(“最大值”);
字符串buff=“”;

对于(int i=min;i将您的列表存储在数组列表中,您可以在警报对话框中显示列表

String result = "";
for (int i = min; i <= max; i += 7) {
        result += i + " \n";
     }
JOptionPane.showMessageDialog(null, result);   
字符串结果=”;

对于(int i=min;i而言,最简单的方法是将所有内容连接成一个字符串。例如:

public void count1() {
     int min, max;
     String elt = new String("");
     min = Integer.parseInt(JOptionPane.showInputDialog("lowest number"));
     max = Integer.parseInt(JOptionPane.showInputDialog("highest number"));
     for (int i = min; i <= max; i += 7) {
         elt = elt + i + " ";
     } 
     JOptionPane.showMessageDialog(null, elt);   
 }
public void count1(){
最小整数,最大整数;
字符串elt=新字符串(“”);
min=Integer.parseInt(JOptionPane.showInputDialog(“最小值”);
max=Integer.parseInt(JOptionPane.showInputDialog(“最大值”);

for(int i=min;我只是使用
StringBuffer
(线程安全)构造一个
String
并显示它。谢谢你,但问题是我还没有学习append和Stringbuilder。这些将在下一章中介绍。根据作者的说法,如果没有它们,这应该是可行的。如果你在
字符串上使用
+
操作符,你正在做append,它只是一个
字符串缓冲区
Java语言为字符串连接运算符(+)以及其他对象到字符串的转换提供了特殊支持。字符串连接是通过StringBuilder(或StringBuffer)实现的类及其append方法。@wulfgarpro我知道在jvm的最新版本中,+与StringBuilder/StringBuffer的使用在大多数用例中只是代码可读性的问题。我认为这个解决方案不是错误的。该方法的定义接受showMessageDialog(组件parentComponent,对象消息)并可能对消息变量执行toString()。ArrayList上的toString的默认行为是将值列表显示为:[value1,value2,value3..]。这很有魅力,正是我想要的。非常感谢。谢谢你的洞察力!我会在将来记住这一点。在这个网站上有这么多友好和积极的人。
public void count1() {
     int min, max;
     StringBuilder elt = new StringBuilder("");
     min = Integer.parseInt(JOptionPane.showInputDialog("lowest number"));
     max = Integer.parseInt(JOptionPane.showInputDialog("highest number"));
     for (int i = min; i <= max; i += 7) {
         elt.append(i).append(" ");
     } 
     JOptionPane.showMessageDialog(null, elt.toString());   
 }