Java 不断获取错误消息";找不到符号-构造函数帐户(整数,双精度)
修改班级帐户(附在黑板上)以提供 •一个整数类即时变量accountNum作为类编号 (不要忘记您需要更改构造函数)。 •一种称为借记的方法,用于从账户中提款。确保 借方金额不超过账户余额。如果是这样的话 余额应保持不变,并且该方法应打印一条消息 指示“借方金额超过账户余额” •在方法getBalance()中,添加一行以打印账号和 帐户余额,然后在测试程序中,您只需键入, account1.getBalance();而不是printf语句。 AccountTest文件已被修改以测试新的Accountclass,因此 不需要改变它 这是我的Account类代码Java 不断获取错误消息";找不到符号-构造函数帐户(整数,双精度),java,Java,修改班级帐户(附在黑板上)以提供 •一个整数类即时变量accountNum作为类编号 (不要忘记您需要更改构造函数)。 •一种称为借记的方法,用于从账户中提款。确保 借方金额不超过账户余额。如果是这样的话 余额应保持不变,并且该方法应打印一条消息 指示“借方金额超过账户余额” •在方法getBalance()中,添加一行以打印账号和 帐户余额,然后在测试程序中,您只需键入, account1.getBalance();而不是printf语句。 AccountTest文件已被修改以测试新的Acco
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
我想不出缺少了什么,请帮我一把谢谢。帐户的构造函数被定义为接受
double
和int
,而您在这里尝试传递int
和double
Account( 1, 50.00 );
account类的构造函数需要一个double后跟一个int,但是您要传递的是一个int后跟一个double。您的帐户构造函数只需要按照这个顺序接受double和int即可 所以在你的主要方法之后
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中的所有方法和构造函数只有在传递的值与方法声明中的值完全相同时才能工作。通常,每次看到“找不到符号”错误都是这个问题。根据提示,我假设这可能是家庭作业