如何使生成的数字立即显示? import java.util.*; 导入javax.swing.JOptionPane; 公开课p1 { 公共静态void main(字符串[]args) { int size=50; ArrayList list=新的ArrayList(大小); 对于(int i=1;i 0) { int index=rand.nextInt(list.size()); JOptionPane.showMessageDialog(null,“选中:“+list.remove(index)); } } }

如何使生成的数字立即显示? import java.util.*; 导入javax.swing.JOptionPane; 公开课p1 { 公共静态void main(字符串[]args) { int size=50; ArrayList list=新的ArrayList(大小); 对于(int i=1;i 0) { int index=rand.nextInt(list.size()); JOptionPane.showMessageDialog(null,“选中:“+list.remove(index)); } } },java,arrays,loops,random,joptionpane,Java,Arrays,Loops,Random,Joptionpane,当我运行这个程序时,我生成的随机数都显示在单独的消息框中,我如何更改代码,使其在一个消息框中显示数组(即,您生成的数字是:1、4、5、6、33等)。此外,我如何更改代码,使其生成一定数量的数字,例如10,因为据我所知,它正在打印出50个。除了这样做: import java.util.*; import javax.swing.JOptionPane; public class p1 { public static void main(String[] args) { int siz

当我运行这个程序时,我生成的随机数都显示在单独的消息框中,我如何更改代码,使其在一个消息框中显示数组(即,您生成的数字是:1、4、5、6、33等)。此外,我如何更改代码,使其生成一定数量的数字,例如10,因为据我所知,它正在打印出50个。

除了这样做:

import java.util.*;
import javax.swing.JOptionPane;
public class p1 
{
public static void main(String[] args) 
{
    int size = 50;

    ArrayList<Integer> list = new ArrayList<Integer>(size);
    for(int i = 1; i <= size; i++) 
    {
        list.add(i);
    }

    Random rand = new Random();
    while(list.size() > 0) 
    {
        int index = rand.nextInt(list.size());
        JOptionPane.showMessageDialog(null, "Selected: "+list.remove(index));
    }
}
}
将list.remove(index)放入字符串变量中

然后在循环结束后

JOptionPane.showMessageDialog(null, "Selected: "+list.remove(index));
你的错误只是把对话框放在循环中,除了它之外

  JOptionPane.showMessageDialog(null, "Selected: "+string variable);
publicstaticvoidmain(字符串[]args)
{
int size=10;
ArrayList list=新的ArrayList(大小);
对于(int i=1;i 0)
{
int index=rand.nextInt(list.size());
缓冲区+=“,”+列表。删除(索引);
}
showMessageDialog(空,“选定:”+缓冲区);
}
编辑答案:一个必须使两个变量的大小和范围

public static void main(String[] args) 
{
    int size = 10;

    ArrayList<Integer> list = new ArrayList<Integer>(size);
    for(int i = 1; i <= size; i++) 
    {
        list.add(i);
    }

    Random rand = new Random();
    String buffer = "";
    while(list.size() > 0) 
    {
        int index = rand.nextInt(list.size());
        buffer += ","+list.remove(index);

    }
    JOptionPane.showMessageDialog(null, "Selected: "+buffer);
}
publicstaticvoidmain(字符串[]args)
{
int size=10;
整数范围=50;
ArrayList list=新的ArrayList(大小);
Random rand=新的Random();
对于(int i=1;i 0)
{
int指数=0;
如果(list.size()!=1)
buffer+=list.remove(index)+“,”;
else if(list.size()==1)
buffer+=list.remove(index)+“,”;
索引++;
}
showMessageDialog(空,“选定:”+缓冲区);
}
导入java.util.*;
导入javax.swing.JOptionPane;
公开课考试{
公共静态void main(字符串[]args){
int size=50;
ArrayList list=新的ArrayList(大小);
对于(int i=1;i 0){
int index=rand.nextInt(list.size());
sb.追加(列表.删除(索引)+“,”;
sb.deleteCharAt(sb.length()-1);
}
showMessageDialog(null,“选中:+sb.toString());
}
}

我相信这就是您的要求

import java.util.*;
import javax.swing.JOptionPane;

public class test {
    public static void main(String[] args) {
        int size = 50;

        ArrayList<Integer> list = new ArrayList<Integer>(size);
        for (int i = 1; i <= size; i++) {
            list.add(i);
        }

        Random rand = new Random();

        StringBuilder sb = new StringBuilder();
        while (list.size() > 0) {
            int index = rand.nextInt(list.size());

            sb.append(list.remove(index) + ",");
            sb.deleteCharAt(sb.length() - 1);

        }

        JOptionPane.showMessageDialog(null, "Selected: " + sb.toString());
    }
}
Random Random=new Random();
StringBuffer buff=新的StringBuffer();

对于(int index=1;索引第一:创建一个包含所有数字的字符串,而不是直接打印它们。第二:将
50
设置为
10
以仅生成
10
数字-就这么简单。创建一个字符串,这将是您的最终结果,在while循环中向该字符串附加索引值(转换为字符串),在while循环完成后,您可以在messagebox中显示该字符串:)首先,我不明白您想做什么。您有一个数字从1到50(大小50)的列表,您正在尝试生成1到50之间的随机数,直到列表变为空。显示消息框的方法应该在循环外部,在循环内部,您应该构造一个字符串,在该字符串中用逗号分隔符附加到数字上。+1表示同意,谢谢,此外,还有一种方法可以添加到代码中,以更改生成的数字数量和单独生成数字的范围,因为当前的“大小”负责这两个方面。
import java.util.*;
import javax.swing.JOptionPane;

public class test {
    public static void main(String[] args) {
        int size = 50;

        ArrayList<Integer> list = new ArrayList<Integer>(size);
        for (int i = 1; i <= size; i++) {
            list.add(i);
        }

        Random rand = new Random();

        StringBuilder sb = new StringBuilder();
        while (list.size() > 0) {
            int index = rand.nextInt(list.size());

            sb.append(list.remove(index) + ",");
            sb.deleteCharAt(sb.length() - 1);

        }

        JOptionPane.showMessageDialog(null, "Selected: " + sb.toString());
    }
}
Random random = new Random();

StringBuffer buff = new StringBuffer();
for (int index = 1; index <= 50; index++) {
    buff.append(random.nextInt(50));
    if (index % 10 == 0) {
    buff.append('\n');
    } else {
    buff.append(',');
    }

}
buff.delete(buff.length() - 2, buff.length());

System.out.println(buff.toString());
JOptionPane.showMessageDialog(null, "Selected: " + buff.toString());