我有一个带有钱币名称的数组,想用逗号保留它们。在这堂课中,我想用逗号将它们打印出来
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
预期产量:五磅,两磅,一磅,五十便士,二十便士,五便士
答案 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