gpt4 book ai didi

java - 不断收到错误消息“找不到符号 - 构造函数帐户(int,double)

转载 作者:行者123 更新时间:2023-12-02 07:58:08 24 4
gpt4 key购买 nike

修改类帐户(附在 Blackboard 中)以提供• 整数类即时变量 accountNum 作为类号(不要忘记您需要更改构造函数)。• 一种称为借记的方法,可从帐户中提取资金。确保这件事借方金额不超过账户余额。如果确实如此,则余额应保持不变,该方法应打印一条消息表明“借方金额超出账户余额”。• 在方法 getBalance() 中,添加一行以打印帐号并帐户余额,然后在测试程序中,您只需键入,account1.getBalance();而不是 printf 语句。AccountTest 文件已被修改以测试您的新 Accountclass,因此您不需要改变它。

这是我的帐户类代码

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

我无法弄清楚缺少什么,请帮忙,非常感谢。

最佳答案

您只需让您的 Account 构造函数按顺序接受 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 中的所有方法和构造函数才会起作用。一般来说,每次您看到“找不到符号”错误时,都是这个问题。

关于java - 不断收到错误消息“找不到符号 - 构造函数帐户(int,double),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9343440/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com