Java podwójnie.MAX_VALUE?
Witam, jestem w pierwszym roku rozwoju systemu komputerowego, więc jestem całkiem nowy w Javie i opanowałem podstawy!
Przy pierwszym zadaniu muszę stworzyć system licznika gazu dla firmy gazowniczej, aby umożliwić pracownikom tworzenie nowych kont klientów i zmianę danych, takich jak nazwa i koszty jednostkowe, a także przyjmowanie (deponowanie) pieniędzy z ich konta.
Stworzyłem mój konstruktor, a nawet dodałem metodę przeciążania, chociaż obecnie napotykam problem podczas inicjowania jednej z moich metod, które wymieniłemkaucja, ma to zabierać pieniądze z konta użytkownika, podczas gdy inne metody, takie jakrecordUnits pozwala pracownikowi importować odczyt licznika gazu z informacji o tym, ile jednostek klient wykorzystał i aktualizuje saldo tego konta klientów, co jest zasadniczo tym, co klient jest winien firmie.
Podczas testowania programu za pomocą wstępnie ustawionych informacji podczas próby zainicjowania metody wpłaty otrzymuję to
Account.deposit(Double.MAX_VALUE);
Nie jestem zbyt pewien, co to oznacza i nie wydaje mi się, żeby się udało! przepraszam, jeśli to zostało opublikowane, chociaż rozejrzałem się bezskutecznie, aby uzyskać właściwą odpowiedź.
dane testowe i kod widoczne poniżej:
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);
}
}
złamać
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;
}
}
To tylko nagie kości mojego kodu. Mam dużo więcej do zrobienia, ale mam nadzieję, że to da ci pomysł.
Z góry dziękuję