System.printf(“%。2f”,currentBalance)工作正常,但问题是句子后面出现了舍入的数字。将代码放入您的eclipse程序并运行它,您可以看到一些肯定是错误的。如果有人能提供帮助,我将不胜感激。
public class BankCompound {
public static void main (String[] args) {
compound (0.5, 1500, 1);
}
public static double compound (double interestRate, double currentBalance, int year) {
for (; year <= 9 ; year ++) {
System.out.println ("At year " + year + ", your total amount of money is ");
System.out.printf("%.2f", currentBalance);
currentBalance = currentBalance + (currentBalance * interestRate);
}
System.out.println ("Your final balance after 10 years is " + currentBalance);
return currentBalance;
}
}
答案 0 :(得分:2)
请试试这个
import java.text.DecimalFormat;
public class Visitor {
public static void main (String[] args) {
compound (0.5, 1500, 1);
}
public static double compound (double interestRate, double currentBalance, int year) {
for (; year <= 9 ; year ++) {
System.out.println ("At year " + year + ", your total amount of money is "+Double.parseDouble(new DecimalFormat("#.##").format(currentBalance)));
currentBalance = currentBalance + (currentBalance * interestRate);
}
System.out.println ("Your final balance after 10 years is " + currentBalance);
return currentBalance;
}
}
答案 1 :(得分:1)
System.out.println()
,顾名思义
表现得好像它会调用
print(String)
然后调用println()
。
使用System.out.print()
并在打印当前余额后放置换行符。
System.out.print("At year " + year + ", your total amount of money is ");
System.out.printf("%.2f", currentBalance);
System.out.println();
// or
System.out.print("At year " + year + ", your total amount of money is ");
System.out.printf("%.2f\n", currentBalance);
答案 2 :(得分:0)
System.out.printf(“年份%d,您的总金额为%。2f \ n”,年份,当前平衡);
答案 3 :(得分:0)
错误调用是第一个System.out.println(),因为它在打印给定内容后附加一个新行。
有两种解决方案 -
方法-1:
System.out.print("At year " + year + ", your total amount of money is ");
System.out.printf("%.2f\n", currentBalance);
方法-2:[使用带有println()的String.format()
System.out.println ("At year " + year + ", your total amount of money is "
+ String.format("%.2f", currentBalance));
两者都会产生相同的结果。即便是第二个也更具可读性。
输出:
在第1年,您的总金额为1500.00
在第2年,您的总金额为2250.00
在第3年,您的总金额为3375.00
在第4年,您的总金额为5062.50
在第5年,您的总金额为7593.75
在第6年,您的总金额为11390.63
在第7年,您的总金额为17085.94
在第8年,您的总金额为25628.91
在第9年,您的总金额为38443.36
10年后的最终余额为57665.0390625
String.format返回格式化的字符串。 System.out.printf还在system.out(控制台)上打印格式化的字符串。
根据您的需要使用它们。