如何用逗号分隔每个数组元素(使用replaceAll)?

时间:2019-11-29 16:54:12

标签: java

我有一个带有钱币名称的数组,想用逗号保留它们。在这堂课中,我想用逗号将它们打印出来

 VStack(spacing: 4) {
            FormInput(label: "First Name", input: self.$firstName) {
                isEditing in

                self.avoider.editingField = 0
            }
            .frame(height: 40)
            .padding(0)
            .avoidKeyboard(tag: 0)

此类包含我的数组。

class Coinscalculate {
    public void calc(double purchasePrice, double cash) {
        Coins obj = new Coins();

        int res = 0;


        if (purchasePrice == cash) {
            System.out.println(res);
        } else if (cash > purchasePrice) {
            cash -= purchasePrice;
            for (int i = 0; i < obj.coins.length; i++) {
                if (cash > obj.coins[i]) {
                    cash -= obj.coins[i];
                    obj.coinsName.replaceAll("\\B", ","); // I tried to replace all but it didn't work
                    System.out.print(obj.coinsName[i]);
                    System.out.print(cash);
                }
            }
        }
    }
}

输入示例:11.25 20

预期产量:五磅,两磅,一磅,五十便士,二十便士,五便士

2 个答案:

答案 0 :(得分:0)

我不确定我是否正确回答了您的问题:


System.out.print(obj.coinsName[i]+", "); //This adds commas
System.out.print(cash);

我也不明白你是什么意思 0.0499? 应该是什么?

答案 1 :(得分:0)

您可以执行以下操作:

class Coins {
    public double[] coins = { 50, 20, 10, 5, 2, 1, 0.50, 0.20, 0.10, 0.05, 0.02, 0.01 };
    public String[] coinsName = { "Fifty Pounds", "Twenty Pounds", "Ten Pounds", "Five Pounds", "Two Pounds",
            "One Pound", "Fifty Pence", "Twenty Pence", "Ten Pence", "Five Pence", "Two Pence", "One Pence" };
}

public class Coinscalculate {
    public static void main(String[] args) {
        calc(11.25, 20);
    }

    public static void calc(double purchasePrice, double cash) {
        Coins obj = new Coins();
        int res = 0;
        StringBuilder sb = new StringBuilder();
        if (purchasePrice == cash) {
            System.out.println(res);
        } else if (cash > purchasePrice) {
            cash -= purchasePrice;
            for (int i = 0; i < obj.coins.length; i++) {
                if (cash >= obj.coins[i]) {
                    cash -= obj.coins[i];
                    cash = Math.round(cash * 100.0) / 100.0;
                    sb.append(obj.coinsName[i] + ", ");
                }
            }
        }
        String changeAmt = sb.toString();
        changeAmt = changeAmt.substring(0, changeAmt.lastIndexOf(",")); // Remove the last ','
        System.out.println(changeAmt);
    }
}

输出:

Five Pounds, Two Pounds, One Pound, Fifty Pence, Twenty Pence, Five Pence