有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java双到字符串错误

我正在学习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) 个答案

  1. # 1 楼答案

    您的else状态正在返回(双倍)(num*100)。你需要返回一个字符串

    请尝试下面的代码,您需要将双精度值转换为字符串:

    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;
        }
    

    我把这本记事本打印出来,好让你记住。此外,还需要确定AmountFinCreasePerYear变量中应该包含的值。什么决定了这个价值。你能从BankAccount类会员那里得到什么吗