double to string error

时间:2014-12-10 16:12:31

标签: java string double

我正在学习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);

    }
}

1 个答案:

答案 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类成员那里获得的东西吗?