Żeby było nam wszystkim wygodniej!
Nowy użytkownik
package finanse;
public class Kwota {
private int zlote;
private int grosze;
public Kwota(int zlote, int grosze) {
//sprawdzamy czy zlote i grosze są ujemne, jeśli są to
wyrzuca wyjątek
if (zlote < 0 || grosze < 0) {
throw new IllegalArgumentException();
} else {
//jeśli groszę wynoszą więcej niż 99 wtedy odpowiednio
przelicza xD
if (grosze > 99) {
// dlatego int mamy - usuwa nam końcówkę i gdy grosze
= 510 to po podzieleniu ile = 5
int ile = grosze / 100;
grosze = grosze - 100 * ile; // grosze = 510-(100*5)
da nam wynik 10gr
zlote = zlote + 1 * ile; // zlote = zlote+(1*5)
}
this.zlote = zlote; //Przypisuje nam wartości do zmiennej
globalnej
this.grosze = grosze;
}
}
public int getZlote() {
return zlote;
} //generujemy (PPM) - get pobiera nam dane
public int getGrosze() {
return grosze;
}
public Kwota() { } // pusty konstruktor, który tworzymy aby móc
podłączyć bean'a
// Tworzymy toString: Zamienia nam wartości liczbowe zmiennych (złotówki i grosze) na łańcuch znaków.
@Override
public String toString() {
if (grosze > 9) {
return zlote + "," + grosze;
} else {
return zlote + ",0" + grosze;
}
}
public Kwota dodaj(Kwota druga) { // Dodajemy. Jako parametr
deklarujemy "drugą" kwotę.
int zl = this.zlote + druga.zlote;
int gr = this.grosze + druga.grosze;
if (gr>99){ //gdy grosze większe od 99 wtedy:
zl ++; zwiększamy ilość złotówek o 1. aod
gr = gr - 100; groszy odejmujemy 100
// wtedy: gdy gr = 155 -> (nowe) gr = 155 - 100 i wtedy dostajemy dobre grosze
}
return new Kwota(zl, gr);
}
public Kwota pomnoz(int liczba){ //Mnożenie. Mnożymy przez liczbę, dlatego ze w sklepie możemy sprzedać ilość jednego produktu.
int gr = (this.grosze * liczba)%100; // gdy dzielimy z % dostajemy resztę czyli nasze grosze
int zl = this.zlote * liczba + this.grosze * liczba / 100; // Przykład (int daje nam zaokrągloną wartość) zl = 4 * 5 + 65 * 5 / 100;
return new Kwota(zl,gr);
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Kwota kwota = (Kwota) o;
if (zlote != kwota.zlote) return false;
return grosze == kwota.grosze;
}
@Override
public int hashCode() {
int result = zlote;
result = 31 * result + grosze;
return result;
}
Offline