Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将此数组的每个元素放入字符串中?_Java_Arrays - Fatal编程技术网

Java 如何将此数组的每个元素放入字符串中?

Java 如何将此数组的每个元素放入字符串中?,java,arrays,Java,Arrays,我试图在数组中搜索已选中的复选框。然后,我需要将选中的复选框放入一个字符串中,向用户显示他们所选的内容(可能放入一个弹出对话框)。我不知道该使用什么语法,也不知道在经过了大量的尝试和错误之后该使用什么方法 复选框: JCheckBox s1 = new JCheckBox("Mowing",false); JCheckBox s2 = new JCheckBox("Edging",false); JCheckBox s3 = new JCheckBox("Trimming",fa

我试图在数组中搜索已选中的复选框。然后,我需要将选中的复选框放入一个字符串中,向用户显示他们所选的内容(可能放入一个弹出对话框)。我不知道该使用什么语法,也不知道在经过了大量的尝试和错误之后该使用什么方法

复选框:

JCheckBox s1 = new JCheckBox("Mowing",false);
    JCheckBox s2 = new JCheckBox("Edging",false);
    JCheckBox s3 = new JCheckBox("Trimming",false);
    JCheckBox s4 = new JCheckBox("Blowing",false);
    JCheckBox s5 = new JCheckBox("Mulch",false);
    JCheckBox s6 = new JCheckBox("Hedges",false);
    JCheckBox s7 = new JCheckBox("Pruning Trees", false);
    JCheckBox s8 = new JCheckBox("Landscaping",false);
    JCheckBox s9 = new JCheckBox("Weeding", false);
    JCheckBox s10 = new JCheckBox("Leaf Removal", false);
数组和for循环,使用if语句检查复选框

JCheckBox[] boxes = {s1,s2,s3,s4,s5,s6,s7,s8,s9,s10};
        int count = 0;
        int i;
        //String for checked boxes to be put into
        String requested = " ";
        for(i = 0; i < boxes.length; ++i)
        {
            if(boxes[i].isSelected())
            {
                requested = boxes[i].getText();
                ++count;
                //Add the checked boxes to a string. This is where I am stuck
            }
        }
JCheckBox[]框={s1、s2、s3、s4、s5、s6、s7、s8、s9、s10};
整数计数=0;
int i;
//要放入的复选框的字符串
请求的字符串=”;
对于(i=0;i
也许就这么办吧

requested += boxes[i].getText() + " ";
或使用StringBuilder:

StringBuilder sb = new StringBuilder();
for (i = 0; i < boxes.length; ++i) {
    ...
    sb.append(boxes[i].getText() + " ");
    ...
}
StringBuilder sb=新建StringBuilder();
对于(i=0;i
也许就这么办吧

requested += boxes[i].getText() + " ";
或使用StringBuilder:

StringBuilder sb = new StringBuilder();
for (i = 0; i < boxes.length; ++i) {
    ...
    sb.append(boxes[i].getText() + " ");
    ...
}
StringBuilder sb=新建StringBuilder();
对于(i=0;i
您只需在弹出窗口中使用
JOptionPane
。希望这能帮助你

JOptionPane.showMessageDialog(this,"requested ="+ requested);

您只需在弹出窗口中使用
JOptionPane
。希望这能帮助你

JOptionPane.showMessageDialog(this,"requested ="+ requested);

在java 8中相对容易:

String delimiter = " ";
String s = Arrays.stream(boxes)
                 .filter((b) -> b.isSelected()) // restrict to selected
                 .map((b)->b.getText()) // get text for each element
                 .collect(Collectors.joining(delimiter)); // join the strings

在java 8中相对容易:

String delimiter = " ";
String s = Arrays.stream(boxes)
                 .filter((b) -> b.isSelected()) // restrict to selected
                 .map((b)->b.getText()) // get text for each element
                 .collect(Collectors.joining(delimiter)); // join the strings

那么我将创建一个StringBuilder对象并附加请求的变量?那么我将创建一个StringBuilder对象并附加请求的变量?