2012-02-18 97 views
0

修改类账户(附在黑板)提供 •整数级即时可变accountNum是类数 (不要忘了,您需要更改构造函数) •一种称为借记的方法,用于从账户中提取资金,并确保 的借方金额不超过账户的余额,如果确实如此,则余额应保持不变,并且方法应打印 表示“借方金额超过账户余额”。 •在方法getBalance()中,添加一行以打印出账号和 账号余额,那么在测试程序中,您只需键入 account1.getBalance();而不是printf语句。 AccountTest文件已被修改以测试您的新帐户类别,因此您不需要更改它。不断收到错误消息“无法找到符号 - 构造帐户(INT,双)

,这里是我的账户类

public class Account 
{ 
    private double balance; 
    public int accountNum; 
    public int Account; 
    public Account(double initialBalance, int accountN) 
    { 
     if (initialBalance > 0.0) 
      balance = initialBalance; 
      accountNum=accountN; 
    } 

    public void credit(double amount) 
    { 
     balance = balance + amount; 
    } 

    public void debit(double amount) 
    { 
     if (amount>=balance) 
      System.out.println("Debit amount exceeded account balance."); 
     else 
      balance-=amount; 
    } 

    public String getBalance() 
    { 
     return balance+" "+accountNum; 
    } 
} 

代码这里是代码,为AccountTest类

import java.util.Scanner; 

public class AccountTest 
{ 
    // main method begins execution of Java application 
    public static void main(String args[]) 
    { 
     Account account1 = new Account(1, 50.00); // create Account object 
     Account account2 = new Account(2, -7.53); // create Account object 

     // display initial balance of each object 
     account1.getBalance(); 
     account2.getBalance(); 

     // create Scanner to obtain input from command window 
     Scanner input = new Scanner(System.in); 
     double depositAmount; // deposit amount read from user 

     System.out.print("Enter deposit amount for account2: "); 
     depositAmount = input.nextDouble(); // obtain user input 
     System.out.printf("\nadding %.2f from account1 balance\n", depositAmount); 
     account2.credit(depositAmount); // add amount to account1 

     // display balances 
     account1.getBalance(); 
     account2.getBalance(); 

     // create Scanner to obtain input from command window 
     input = new Scanner(System.in); 
     double withdrawalAmount; // withdrawal amount read from user 

     System.out.print("Enter withdrawal amount for account1: "); 
     withdrawalAmount = input.nextDouble(); // obtain user input 
     System.out.printf("\nsubtracting %.2f from account2 balance\n", withdrawalAmount); 
     account1.debit(withdrawalAmount); // subtract amount from account2 

     // display balances 
     account1.getBalance(); 
     account2.getBalance(); 
    } // end main 
} // end class AccountTest 

我无法弄清楚什么是丢失请帮助感谢了一堆。

+0

根据提示,我会假设这可能是家庭作业 – Ktash 2012-02-18 17:34:56

回答

2

您只需将您的Account构造函数按该顺序接受double和int即可。

所以,正确的main方法后,你有

Account account1 = new Account(1, 50.00); 
Account account2 = new Account(2, -7.53); 

当它应该是

Account account1 = new Account(50.00, 1); 
Account account2 = new Account(-7.53, 2); 

Java中的所有方法和构造方法只会如果传递价值,正是因为他们是在法工作宣言。通常,每当您看到“无法找到符号”错误时,就是这个问题。

0

帐户的构造函数定义为接受doubleint而在这里你试图传递intdouble

Account(1, 50.00); 
0

的账户类的构造函数需要一个双后跟一个int,但你传递一个int其次增加一倍。