我正在学习Java并且正在做一个关于建立银行的项目,但是我无法让它工作,目的是让它返回当前的银行余额和帐号,但是它表示double不能作为字符串返回...
public String listProjectedPortfolioTimeframe(double desiredBalance) {
desiredBalance = 88;
String str = "";
double num = 200;
String listProjectedPortfolioTimeframe = String.valueOf(listProjectedPortfolioTimeframe);
if (bankAccounts.size() <= 0) {
str = "enter ammount to find number of years of constant saving will give 200 euro";
for (BankAccount ba : bankAccounts) {
str += ba.getAccNumber();
str += ba.getBalance();
}
return str;
} else {
return (double) (num * 100);
}
}
答案 0 :(得分:1)
你的其他条件正在返回(双倍)(num * 100)。你需要返回一个字符串。
尝试下面的代码,您需要将double值转换为String:
public String listProjectedPortfolioTimeframe(double desiredBalance) {
desiredBalance = 88;
String str = "";
double num = 200;
if (bankAccounts.size() <= 0) {
str = "enter ammount to find number of years of constant saving will give 200 euro";
for (BankAccount ba: bankAccounts) {
str += ba.getAccNumber();
str += ba.getBalance();
}
} else {
str = String.valueOf(num * 100);
}
return str;
}
我通常不习惯让人们为他们工作,但今天下午我有一点空闲时间:
public String listProjectedPortfolioTimeframe(double desiredBalance) {
String str = "";
double amountOfIncreasePerYear = 50; // You need to replace this...
for (BankAccount ba: bankAccounts) {
String currentBalance = ba.getBalance();
if(Double.parseDouble(currentBalance) <= desiredBalance)
{
double numberOfYears = (desiredBalance - Double.parseDouble(currentBalance)) / amountOfIncreasePerYear;
String currentAccNumber = ba.getAccNumber();
str += String.Format(
"Account#: %s, Current Balance: %.2f, Number of Years to Reach %.2f: %f \r\n",
currentAccNumber, currentBalance, desiredBalance, numberOfYears
);
}
}
if(str == "") {
str = "No Bank Accounts";
}
return str;
}
请记住,我只是在记事本中键入了这个内容,因此您可能需要检查它是否已编译。您还需要确定amountOfIncreasePerYear变量中应该包含的值。什么决定了这个价值。这是您可以从BankAccount类成员那里获得的东西吗?