Metoda logiczna Ustaw

0

Mam klasę Towar, i pola ileSztuk, cena, nazwaTowaru i teraz chciałbym utworzyć metodę logiczną Ustaw, która na podstawie napisu w formacie: nazwa_towaru, cenaZaSztuke, liczbaSztuk będącego parametrem, ustawia wartość pól o ile dane są poprawne , w przeciwnym razie zwraca false i nie zmienia wartości pól. I drugą metodę String toString() zwracającą łańcuch w formacie: nazwa towaru, cena, liczba sztuk , wartość zamówienia, przykład: Cukier 2.00 zł 3 szt. 6.00 zł
Początek klasy:

public class Towar {
    private String nazwaTowaru;
    private int ileSztuk;
    private double cena;

    public Towar() {
    }

    public Towar(String nazwaTowaru, int ileSztuk, double cena) {
        this.nazwaTowaru = nazwaTowaru;
        this.ileSztuk = ileSztuk;
        this.cena = cena;
    }

    public String getNazwaTowaru() {
        return nazwaTowaru;
    }

    public void setNazwaTowaru(String nazwaTowaru) {
        this.nazwaTowaru = nazwaTowaru;
    }

    public int getIleSztuk() {
        return ileSztuk;
    }

    public void setIleSztuk(int ileSztuk) {
        this.ileSztuk = ileSztuk;
    }

    public double getCena() {
        return cena;
    }

    public void setCena(double cena) {
        this.cena = cena;
    }
    double obliczWartosc(double cena,int ileSztuk)
    {
        return this.cena*this.ileSztuk;
    }
    public boolean Ustaw(){
        
    }
}

Jak utworzyć metode Ustaw?

0
public void boolean Ustaw(){
    
}

}

?

  1. Według mnie lepszym rozwiązaniem będzie zrobienie metody parsującej ciąg znaków który chcesz przekazywać obecnie, czyli "cena,iloscSztuk" na prawidłowe formaty i zwracanie tego listą / mapą.
  2. Następnie mając już te sparsowane wartości, w metodzie ustaw robisz to tak jakbyś pisał setter.
  3. Metodę toString() możesz wygenerować automatycznie za pomocą IDE. Zobacz w jakiej postaci to otrzymasz i dostosuj pod swoje wymagania.
0

Czyli jak ma wyglądać metoda Ustaw? Na zajęciach jeszcze nie przerabialiśmy parsowania :(

0

Dostając gotowy kod niczego się nie nauczysz.

  1. Użyj metody split() na dowolnym stringu (w twoim wypadku użyj go na argumencie który chcesz przekazać do funkcji, czyli połączenie ceny i ilości).
  2. Powyższa metoda (po przekazaniu do niej po czym chcesz rozdzielić napis) zwróci Ci tablice Stringów. Pobaw się tym i zobacz w jakiej postaci to otrzymasz.
  3. Gdy już Ci się uda uzyskać wszystkie pojedyncze napisy bez spacji i przecinków, spróbuj "zmienic" ich typ, ze Stringa na double/int. ("how to parse string to double / int java").
  4. Mając wszystkie wartości o pożądanych typach, możesz użyc je w metodzie Ustaw.

1 użytkowników online, w tym zalogowanych: 0, gości: 1