Klasa lista aut

0

Mam utworzoną klasę Auto : https://4programmers.net/Pastebin/14868 , jak utworzyć(używając tablic) klase ListaAut dla której każdy obiekt będzie reprezentował listę oferowanych samochodów do sprzedaży przechowywanych w pliku. ??
Obiekt będzie przechowywał jedynie informacje o nazwie pliku (nazwaPliku) w którym zapisane są dane wg poniższego schematu:
Model Rok produkcji Stan licznika Cena

Klasa ListaAut powinna zawierać następujące metody:
• ListaAut(String nazwaPliku) – konstruktor tworzący plik o podanej nazwaPliku w którym będą przechowywane auta do sprzedaży.
• int noweAuta() zwracający ilość nowych samochodów na placu
• Auto najdrozszeAuto() – zwracająca obiekt typu Auto (zadanie 1) które jest najdroższym autem w ofercie
• void dodajAuto() – która dodaje auto na końcu pliku
• void usunAuto() - która usuwa informacje o aucie z pliku

1
  1. Skąd ta konwencja „dajrok()”?
  2. „Pokaż, co już zrobiłeś” - Zaproponuj jakąś klasę samodzielnie, a my Ci pomożemy doszlifować rozwiązanie. W ten sposób łatwiej osiągniemy Twój cel :)
1

Jak będziesz miał czas to polecam zaznajomić się z zasadami dotyczącymi nazewnictwa klas, metod, zmiennych itd. w Javie (link).
A wracając do twojego tematu, to nie za bardzo rozumiem o co Ci chodzi z tworzeniem klasy ListaAut używając tablic, czy masz może na myśli przechowywanie referencji do instancji tej klasy w tablicy? Mógłbyś to rozwinąć? :)

0
Charles_Ray napisał(a):
  1. Skąd ta konwencja „dajrok()”?
  2. „Pokaż, co już zrobiłeś” - Zaproponuj jakąś klasę samodzielnie, a my Ci pomożemy doszlifować rozwiązanie. W ten sposób łatwiej osiągniemy Twój cel :)

Tylko właśnie tablic mam użyc:Utwórz Klasa ListaAut dla której każdy obiekt będzie reprezentował tablicę oferowanych samochodów do
sprzedaży. Obiekt będzie przechowywał jedynie informacje o nazwie tablicy i jej wielkości w którym
zapisane są dane obiekty typu Auto:
Klasa ListaAut powinna zawierać następujące metody:
• ListaAut( int wielkosc) – konstruktor tworzący tablicę o podanej wielkości w której będą
przechowywane auta do sprzedaży.
• ListaAut() – konstruktor domyślny który będzie tworzył tablicę 10 elementową typu Auto
• int noweAuta() zwracający ilość nowych samochodów z danego placu(obiektu typu ListaAut)
• Auto najdrozszeAuto() – zwracająca obiekt typu Auto (zadanie 1) które jest najdroższym
autem na placu
• void dodajAuto(Auto dodaj) – która dodaje auto do tablicy o ile jest miejsce
• void usunAuto(Auto usun) - która usuwa informacje o aucie z tablicy

0
PArtniak napisał(a):
Charles_Ray napisał(a):
  1. Skąd ta konwencja „dajrok()”?
  2. „Pokaż, co już zrobiłeś” - Zaproponuj jakąś klasę samodzielnie, a my Ci pomożemy doszlifować rozwiązanie. W ten sposób łatwiej osiągniemy Twój cel :)

Tylko właśnie tablic mam użyc:Utwórz Klasa ListaAut dla której każdy obiekt będzie reprezentował tablicę oferowanych samochodów do
sprzedaży. Obiekt będzie przechowywał jedynie informacje o nazwie tablicy i jej wielkości w którym
zapisane są dane obiekty typu Auto:
Klasa ListaAut powinna zawierać następujące metody:
• ListaAut( int wielkosc) – konstruktor tworzący tablicę o podanej wielkości w której będą
przechowywane auta do sprzedaży.
• ListaAut() – konstruktor domyślny który będzie tworzył tablicę 10 elementową typu Auto
• int noweAuta() zwracający ilość nowych samochodów z danego placu(obiektu typu ListaAut)
• Auto najdrozszeAuto() – zwracająca obiekt typu Auto (zadanie 1) które jest najdroższym
autem na placu
• void dodajAuto(Auto dodaj) – która dodaje auto do tablicy o ile jest miejsce
• void usunAuto(Auto usun) - która usuwa informacje o aucie z tablicy

To idąc po kolei masz mieć dwa konstruktory w tym domyślny (bez parametrowy), który utworzy tablice 10 elementową. W tym pastebinie, który wrzuciłeś stworzyłeś konstruktor, którego argumentem jest nazwaPliku jako string. W ciele konstruktora tworzysz instancję PrintWritera i przypisujesz do zmiennej, która jest w scopie konstruktora, przez co nie będziesz mógł tego potem użyć.

Tu masz przykładową klasę, która zawiera konstruktory, które wypunktowałeś.

public class ListaAut {
    Auto[] listaAut;

    public ListaAut() {
        this.listaAut = new Auto[10];
    }

    public ListaAut(int iloscElementow) {
        this.listaAut = new Auto[iloscElementow];
    }
}

Dopisz metody dodaj i usuń, przy usuń zastanów się w jaki sposób chcesz się pozbyć informacji o samochodzie, czy przechowywać nulla w miejscu tego elementu, czy przenieść elementy do nowego miejsca w pamięci bez elementu, który chcesz usunąć.

Na spokojnie spróbuj to napisać, ważne żeby próbować samemu. Jak już coś zacznie Ci działać, to próbuj z różnymi wartościami, spróbuj "wywalić" program, zobaczysz, które miejsca wymagają zabezpieczenia przed błędami.

0

@pankeny: TO Jeszcze przed ta listą Utwórz klasę Auto, która zawiera informacje na temat jednego samochodu. Każdy z nich zawiera następujące informacje: model, rokProdukcji, stanLicznika, cena. Nowe samochody mają stan licznika 0
Klasa Auto powinna zawierać metody:
• Konstruktor aby utworzyć obiekt typu Auto i wypełnić wszystkie informacje o nim • Metody pozwalające na pobranie poszczególnych danych na temat obiektu (getters)
• Metodę pozwalającą na zmianę ceny w obiekcie (zmienCene(int nowaCena)).
• Metodę toString() zwracającą napis „Prezentowany model <model> z roku <rokProdukcji>, który przejechał dotychczas <stanLicznika> kilometrów kosztuje <cena>”
• Metodę equalTo(Auto c) zwracający prawdę w przypadku porównania dwóch obiektów klasy Auto
I Potem juz w mainie:
Utwórz klasę Main w której i zaprezentuj w metodzie main działanie programu: • Utwórz bazę sprzedawanych aut i dodaj do nich 10 różnych obiektów typu Auto wyświetlając wszystkie informacje na temat samochodów przed dodaniem • Zaprezentuj działanie metod: int noweAuta(), najdrozszeAuto(), dodajAuto(), usunAuto() • Dodatkowo utwórz obiekt Auto, i zaprezentuj metodę zmienCene() wyświetlając szczegóły dotyczące auta przed i po utworzeniu obiektu

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