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