问题是:创建一个程序,使用joptionpane输入对话框询问用户一个整数。然后显示一个确认对话框,询问用户“你确定吗?如果用户点击NO或CANCEL,会出现一个弹出消息对话框,说明GOODBYE。如果用户点击YES,它将显示一个消息框,其中包含数字计数或从0到上面输入的数字,用逗号分隔,在一个对话框中。
到目前为止,这是我为YES创建的:
if (z == JOptionPane.YES_OPTION) {
int n[] = new int[x];
for (int a = 0; a <= n.length; a++) {
JOptionPane.showMessageDialog(null, "The numbers are : " + a + end);
}
但它只显示数字0(例如我输入3)3,每盒一个盒子。我需要做的是在一个对话框中显示“0,1,2,3”
答案 0 :(得分:1)
您打开循环中的框。那是你的问题。
您必须构建字符串并在此之后打开框。
另一种方式:不要使用循环。
if (z == JOptionPane.YES_OPTION) {
var s = Array.apply(null, Array(x)).map(function (_, i) {return i;});
JOptionPane.showMessageDialog(null, "The numbers are : " + s.join(',') + end);
}
在此示例中,第一行是if语句。第二行是javascript范围的polyfill(它生成一个值为0到x的数组)。最后一行打开框。
更新:上面的代码是javascript,而不是java。这里有一个java解决方案:
if (z == JOptionPane.YES_OPTION) {
StringBuffer buf = new StringBuffer();
buf.append(0);
for (int i = 1; i < x; buf.append(",").append(i++));
JOptionPane.showMessageDialog(null, "The numbers are : " + buf.toString() + end);
}