有 Java 编程相关的问题?

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

java我收到一个错误,因为该字段不可见

如果可用余额低于最低余额,我打算在输出中打印“罚款”。 但我得到的错误如下所述。 帮帮我

//Savings Account of a customer by setting and getting MinimumBalance
public class SavingsAccount {
    private int    AccountNumber;
    private String Customer;
    private double Balance;
    private double MinimumBalance;

    /**
     * constructor
     *
     * @param Number
     *         the account's number.
     * @param Name
     *         the account holders name.
     * @param bal
     *         the balance available.
     */
    public void open(int Number, String Name, double bal) {
        AccountNumber = Number;
        Customer = Name;
        Balance = bal;
    }

    /**
     * sets Minimum Balance
     *
     * @param minbal
     *         the Minimum Balance
     */
    public void setMinimumBalance(int minbal) {
        MinimumBalance = minbal;
    }

    /**
     * returning Minimum Balance
     *
     * @return it is returning Minimum Balance
     */
    public double getMinimumBalance() {
        return MinimumBalance;
    }

    /**
     * display the details of savings account
     */
    public void print() {
        System.out.println("The Account Number is:" + (AccountNumber));
        System.out.println("The name of the Customer is :" + (Customer));
        System.out.println("Available balance is :" + (Balance));
        System.out.println("Minimum Balance to be maintained is :"
        (MinimumBalance));
    }
}

// testing of savings account
public class Savings1 {
    public static void main(String[] args) {
        SavingsAccount S1; //Object Reference
        S1 = new SavingsAccount(); //Creating Object
        S1.open(256101, "Mr.Gates ", 5000);
        S1.setMinimumBalance(6000);
        S1.print();
        if (S1.Balance < S1.getMinimumBalance()) {
            System.out.println("FINE IS IMPOSED");
        }
    }
}

错误:线程“main”java中出现异常。错误:未解析编译 问题: 这场比赛节省了很多钱。平衡是看不见的 在储蓄1。main(Savings1.java:9)


共 (1) 个答案

  1. # 1 楼答案

    类SavingsAccount有一个声明为private的属性Balance,这意味着它只在该类内部可见

    访问Balance attibute的一个好方法是使用getBalance并从其他类调用它

    public double getBalance(){
        return this.Balance;
    }
    

    然后打电话给getBalance

    if ( S1.getBalance() < S1.getMinimumBalance())
                System.out.println("FINE IS IMPOSED");
    

    完整版本:

    public class SavingsAccount {
        private int AccountNumber;
        private String Customer;
        private double Balance;
        private double MinimumBalance;
        /**
         * constructor
         * @param Number the account's number.
         * @param Name the account holders name.
         * @param bal the balance available.
         */
        public void open (int Number, String Name,double bal) {
            AccountNumber=Number;
            Customer=Name;
            Balance=bal;
        }
        /**
         * sets Minimum Balance
         * @param minbal the Minimum Balance
         */
        public void setMinimumBalance (int minbal) {
            MinimumBalance=minbal;
        }
        /**
         *  returning Minimum Balance
         * @return it is returning Minimum Balance
         */
        public double getMinimumBalance() {
            return MinimumBalance;
        }
        /**
         * display the details of savings account
         */
        public void print()
        {
            System.out.println("The Account Number is:" +(AccountNumber));
            System.out.println("The name of the Customer is :" +(Customer));
            System.out.println("Available balance is :" +(Balance));
            System.out.println("Minimum Balance to be maintained is :" +
            (MinimumBalance));
        }
    
        public double getBalance(){
            return this.Balance;
        }
    }
    
    
    // testing of savings account
     class Savings1  {
        public static void main(String[]args) {
            SavingsAccount S1; //Object Reference
            S1= new SavingsAccount(); //Creating Object
            S1.open (256101,"Mr.Gates ", 5000);
            S1.setMinimumBalance (6000);
            S1.print();
            if ( S1.getBalance() < S1.getMinimumBalance())
                System.out.println("FINE IS IMPOSED");
        }
    
    }