Witam, mam problem przy programie, który muszę zrobić na zajęcia z Javy. Konkretnie:
W poleceniu dostałem do zrobienia klasę samochód:
public class Samochod
{
private String marka;
private String model;
private int rocznik;
private int cena;
public Samochod(String marka, String model, int rocznik, int cena)
{
this.marka = marka;
this.model = model;
this.rocznik = rocznik;
this.cena = cena;
}
@Override
public String toString()
{
return "\n" + marka + " " + model+ " rok: " + rocznik + " cena: " + cena + "PLN";
}
}
Oraz klasę Komis, która ma zawierać prywatne pole:
private HashMap<String, ArrayList<Samochod>> komis;
Cała klasa wygląda następująco:
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Scanner;
public class Komis
{
private HashMap<String, ArrayList<Samochod>> komis;
public Komis(HashMap<String, ArrayList<Samochod>> komis)
{
this.komis = komis;
}
public void znajdzPoMarce(HashMap<String, ArrayList<Samochod>> katalog)
{
Scanner odczyt = new Scanner(System.in);
String bufor;
System.out.println("Podaj Markę do wyszukania:");
bufor = odczyt.nextLine();
if(katalog.get(bufor)!=null)
{
System.out.println(bufor+":");
System.out.println(katalog.get(bufor));
}
else
{
System.out.println("Brak samochodów do wyświetlenia");
}
odczyt.close();
}
public void dodajSamochod()
{
}
public void kupSamochod()
{
}
}
natomiast Main:
public static void main(String[] args)
{
Samochod s1 = new Samochod("Opel", "Astra", 1999, 6000);
Samochod s2 = new Samochod("Opel", "Vectra", 2006, 16000);
Samochod s3 = new Samochod("Audi", "A3", 2008, 26000);
Samochod s4 = new Samochod("Audi", "S4", 2011, 107000);
Samochod s5 = new Samochod("Ford", "Focus", 2000, 4000);
Samochod s6 = new Samochod("Ford", "Fiesta", 2004, 10000);
ArrayList<Samochod> opel = new ArrayList<Samochod>();
opel.add(s1);
opel.add(s2);
ArrayList<Samochod> audi = new ArrayList<Samochod>();
audi.add(s3);
audi.add(s4);
ArrayList<Samochod> ford = new ArrayList<Samochod>();
ford.add(s5);
ford.add(s6);
HashMap<String, ArrayList<Samochod>> katalog = new HashMap<String, ArrayList<Samochod>>();
katalog.put("Opel", opel);
katalog.put("Audi", audi);
katalog.put("Ford", ford);
Komis komis = new Komis(katalog);
//komis.znajdzPoMarce(katalog);
}
Do rzeczy. Program ma działać w pętli do...while do momentu aż użytkownik nie naciśnie klawisza 0 i ma dawać możliwość dodawania, usuwania (kupowania samochodu) oraz wyszukiwania wszystkich pojazdów danej marki. całość zrealizuję za pomocą instrukcji switch, lecz problem polega na tym, że nie potrafię sobie poradzić ze stworzeniem funkcji dodania pojazdu oraz jego usunięciu. Domyślam się, że jeżeli klucz (marka) istnieje już w HashMapie to trzeba dodać nowy samochód do listy z tym samym kluczem, a gdy klucz nie istnieje należy stwożyć nową ArrayListę, lecz kompletnie nie wiem jak to zrealizować. Serdecznie proszę o pomoc i z góry dziękuję. Pozdrawiam