Для выполнения моего задания я должен создать систему газовых счетчиков для газовой компании, которая позволит сотрудникам создавать новые учетные записи клиентов и вносить изменения в такие данные, как имя и стоимость единицы, а также брать (вносить) деньги со своего счета.
Я создал свой конструктор и даже добавил метод перегрузки, хотя в настоящее время у меня возникает проблема при запуске одного из моих методов, который я назвал deposit, предполагается, что он берет деньги со счета пользователя, тогда как другие методы, такие как recordUnits, позволяют Сотрудник импортирует показания счетчика газа о количестве единиц, использованных клиентом, и обновляет остаток на счете этого клиента, что, по сути, является тем, что клиент должен компании.
Когда я тестирую программу, используя только предустановленную информацию, при попытке инициировать метод депозита, я получаю это
Account.deposit(Double.MAX_VALUE);
Я не слишком уверен, что это значит, и никак не могу обойти это!
тестовые данные и код видны ниже:
public class TestGasAccount
{
public static void main (String [] args)
{
GasAccount Account = new GasAccount (223,"Havana","TQ",1000);
Account.getAccNo();
Account.getName();
Account.getAddress();
Account.getUnits();
Account.getBalance();
Account.recordUnits(1000);
Account.getUnits();
Account.getBalance();
Account.deposit(Double.MAX_VALUE);
}
}
перерыв
public class GasAccount
{
private int intAccNo;
private String strName;
private String strAddress;
private double dblBalance;
private double dblUnits;
protected double dblUnitCost = 0.02;
public GasAccount(int intNewAccNo,String strNewName,String strNewAddress,double dblNewUnits)
{
intAccNo = intNewAccNo;
strName = strNewName;
strAddress = strNewAddress;
dblUnits = dblNewUnits;
dblBalance = dblNewUnits * dblUnitCost;
}
public GasAccount (int intNewAccNo, String strNewName, String strNewAddress)
{
intAccNo = intNewAccNo;
strName = strNewName;
strAddress = strNewAddress;
}
public double deposit (Double dblDepositAmount)
{
dblBalance = dblBalance - dblDepositAmount;
return dblBalance;
}
public String recordUnits (double dblUnitsUsed)
{
double dblTempBalance;
dblTempBalance = dblUnitsUsed * dblUnitCost;
dblBalance = dblBalance + dblTempBalance;
dblUnits = dblUnits + dblUnitsUsed;
return "Transaction Successful";
}
public int getAccNo ()
{
System.out.println(intAccNo);
return intAccNo;
}
public String getName()
{
System.out.println(strName);
return strName;
}
public String getAddress()
{
System.out.println(strAddress);
return strName;
}
public double getBalance()
{
System.out.println("£"+dblBalance);
return dblBalance;
}
public double getUnitCost()
{
return dblUnitCost;
}
public double getUnits ()
{
System.out.println(dblUnits);
return dblUnits;
}
public void updateUnitCost (double dblNewUnitCost)
{
dblUnitCost = dblNewUnitCost;
}
}