簡體   English   中英

想要為每個循環在Java中解決這個簡單的問題

[英]want to solve this simple one in java for each loop

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

values是浮點類型生成器的數組,每次調用時都是StringBuilder類型,我在values數組中有3個浮點值,我試圖將'a'附加到builder和','在這里我得到的是(255,145,234,),但是我想要的是就像這樣(255,145,234)我想省略最后一個逗號,您的幫助對我很有幫助,謝謝。

嘗試這個:

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

或者,只需在循環退出后從StringBuilder截斷最后一個字符:

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

保持一個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

用這個。 但是這里沒有使用StringBuilder。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM