想在java中为每个循环解决这个简单的问题

时间:2014-12-23 04:19:51

标签: java

 for (float f: values)
    {
        int a=(int) (f*255);
        builder.append(' ')
               .append(a+",");
    }

values是float类型构建器的数组是每次调用时StringBuilder类型我在values数组中有3个浮点值我试图追加' a'建设者和','这里我得到的是(255,145,234),但我想要的是这样的(255,145,234)我想省略最后一个逗号你的帮助对我很有帮助谢谢。

3 个答案:

答案 0 :(得分:3)

试试这个:

String delimiter = "";
for (float f: values)
    {
        builder.append(delimiter)
        delimiter = ", ";
        int a=(int) (f*255);
        builder.append(a);
    }

或者,只需在循环退出后切断StringBuilder中的最后一个字符:

builder.setLength(builder.length() - 1);

答案 1 :(得分:0)

维护count,并附加",",直到count小于数组的长度。

public static void main(String[] args) {

        float[] values = { 255, 145, 234 };
        StringBuilder builder = new StringBuilder();
        int count = 0;

        for (float f : values) {
            count++;
            int a = (int) (f * 255);
            builder.append(' ').append(a);
            if (count < values.length) {
                builder.append(",");
            }
        }
        System.out.println(builder.toString());
    }

<强>输出

 65025, 36975, 59670

答案 2 :(得分:0)

使用它。但是这里没有使用StringBuilder ..

    ArrayList<String> val = new ArrayList<>();
    for(float f: values){
        val.add((int)(f*255)+"");
    }
    String s = String.join(", ", val);
    System.out.println(s);