Mam do napisania coś takiego:
„Kolekcjoner”
Napisz program, który umożliwi założenie wybranej kolekcji, np.:
- kolekcji utworów muzycznych
- kolekcji filmów
- kolekcji książek.
Założenia: - utwory muzyczne/filmy/książki powinny być obiektami odpowiednio zdefiniowanych klas
- program powinien umożliwiać dodawanie, usuwanie, edycję i przeglądanie utworów
muzycznych/filmów/książek - użytkownik powinien mieć możliwość wybierania powyższych działań i wprowadzania niezbędnych
danych.
UWAGA!
Dobrze byłoby wstępnie zainicjować informacje o kilku utworach muzycznych/filmach/książkach.
Poniżej przedstawiam kod lecz zawiera on błędy których nie jestem w stanie zlikwidować bez pomocy ani bez żadnych podpowiedzi lub wytłumaczenia gdzie zrobiłem błąd.
package zaliczenie;
import java.beans.*;
import java.io.*;
import java.util.*;
public class Main {
static List<ksiazki> ksiazki = new ArrayList<ksiazki>();
static List<filmy> filmy = new ArrayList<filmy>();
static List<muzyka> muzyka = new ArrayList<muzyka>();
static void inicjalizujKsiazki() {
ksiazki.add(new ksiazki("Krzysztof Kotowski", "Kapłan", "Thriller"));
ksiazki.add(new ksiazki("Tomasz Depczyński", "Kombatant - Historia prawdziwa", "Dramat"));
ksiazki.add(new ksiazki("Piotr Skrzypczak", "Byż jak Kurtyzana", "Biografia"));
ksiazki.add(0, new ksiazki("Tomasz Czyżewski", "Jak zostać Wodzem", "Poradnik"));
}
static void wyswietlKsiazki() {
for (int i = 0; i < ksiazki.size(); i++) {
System.out.println(ksiazki.get(i).toString());
}
}
static List<filmy> zaliczenie = new ArrayList<filmy>();
static void inicjalizujFilmy() {
filmy.add(new filmy("Ali G", "Borat", "Bruno", "BCM"));
filmy.add(new filmy("Józef Oleksy", "Sejm RP", "Dramat", "Obywatele RP"));
filmy.add(new filmy("Piotr Skrzypczak", "Skrzypek na dachu", "Biografia", "S.F. Wartkowice"));
filmy.add(0, new filmy("Mydełko Fa", "Chciałbym Cię mydlić", "Poradnik", "Z.Ch. Mydło"));
}
static void wyswietlFilmy() {
for (int i = 0; i < filmy.size(); i++) {
System.out.println(filmy.get(i).toString());
}
}
//static List<muzyka> muzyka = new ArrayList<muzyka>();
static void inicjalizujMuzyka() {
muzyka.add(new muzyka("Boys", "Jesteś szalona", "Disco Polo"));
muzyka.add(new muzyka("Feel", "Feel - Historia prawdziwa", "Dramat"));
muzyka.add(new muzyka("OSP Prawęcice", "Strażacki MegaMix 2011", "Biesiadne"));
muzyka.add(0, new muzyka("Szwagier Kolaska", "Protezy wszelakie", "Łubudubu"));
}
static void wyswietlMuzyka() {
for (int i = 0; i < muzyka.size(); i++) {
System.out.println(muzyka.get(i).toString());
}
}
static String wczytajString(String co) {
Scanner sc = new Scanner(System.in);
String str = "";
do {
System.out.println("Podaj " + co);
str = sc.nextLine();
} while (str.isEmpty());
return str;
}
static double wczytajDouble(String co) {
Scanner sc = new Scanner(System.in);
double liczba = 0;
do {
System.out.println("Podaj " + co);
try {
liczba = sc.nextDouble();
} catch (InputMismatchException wyjatek) {
System.out.println("Niepoprawna wartość");
sc.nextLine();
}
} while (liczba <= 0);
return liczba;
}
static void dodajKsiazki() {
String autor = wczytajString("Autor książki");
String tytul = wczytajString("Tytuł książki");
String gatunek = wczytajString("Gatunek książki");
ksiazki.add(new ksiazki(autor, tytul, gatunek));
}
static void dodajFilmy() {
String rezyser = wczytajString("Reżyser filmu");
String tytul = wczytajString("Tytuł filmu");
String gatunek = wczytajString("Gatunek filmu");
String wytwornia = wczytajString("Wytwórnia");
filmy.add(new filmy(rezyser, tytul, gatunek, wytwornia));
}
static void dodajMuzyka() {
String wykonawca = wczytajString("Wykonawca");
String album = wczytajString("Tytuł albumu");
String gatunek = wczytajString("Gatunek płyty");
muzyka.add(new muzyka(wykonawca, album, gatunek));
}
static void zapisDoPliku1(String plik) {
try {
XMLEncoder xml = new XMLEncoder(new BufferedOutputStream(new FileOutputStream(plik)));
xml.writeObject(ksiazki);
xml.close();
} catch (FileNotFoundException ex) {
System.out.println("Błąd zapisu do pliku");
}
}
static void zapisDoPliku2(String plik) {
try {
XMLEncoder xml = new XMLEncoder(new BufferedOutputStream(new FileOutputStream(plik)));
xml.writeObject(filmy);
xml.close();
} catch (FileNotFoundException ex) {
System.out.println("Błąd zapisu do pliku");
}
}
static void zapisDoPliku3(String plik) {
try {
XMLEncoder xml = new XMLEncoder(new BufferedOutputStream(new FileOutputStream(plik)));
xml.writeObject(muzyka);
xml.close();
} catch (FileNotFoundException ex) {
System.out.println("Błąd zapisu do pliku");
}
}
static void odczytZPliku1(String plik) {
try {
XMLDecoder xml = new XMLDecoder(new BufferedInputStream(new FileInputStream(plik)));
ksiazki = (ArrayList<ksiazki>) xml.readObject();
xml.close();
} catch (FileNotFoundException ex) {
System.out.println("Błąd odczytu z pliku");
}
}
static void odczytZPliku2(String plik) {
try {
XMLDecoder xml = new XMLDecoder(new BufferedInputStream(new FileInputStream(plik)));
filmy = (ArrayList<filmy>) xml.readObject();
xml.close();
} catch (FileNotFoundException ex) {
System.out.println("Błąd odczytu z pliku");
}
}
static void odczytZPliku3(String plik) {
try {
XMLDecoder xml = new XMLDecoder(new BufferedInputStream(new FileInputStream(plik)));
muzyka = (ArrayList<muzyka>) xml.readObject();
xml.close();
} catch (FileNotFoundException ex) {
System.out.println("Błąd odczytu z pliku");
}
}
public static void main(String[] args) {
// TODO code application logic here
inicjalizujListe();
int opcja = 0;
do {
System.out.println("Menu programu:\n"
+ "1 - wyjście z programu\n"
+ "2 - wyświetl wszystko\n"
+ "3 - dodaj nowa książkę\n"
+ "4 - dodaj nowy film\n"
+ "5 - dodaj nowa płytę\n"
+ "6 - zapis do pliku\n"
+ "7 - odczyt z pliku\n");
opcja = (int) wczytajDouble("numer wybranej opcji");
switch (opcja) {
case 1:
System.exit(0);
case 2:
System.out.println("Wyświetl wszystko");
wyswietlKsiazki();
wyswietlFilmy();
wyswietlMuzyka();
break;
case 3:
System.out.println("Dodawanie nowej książki");
dodajKsiazki();
break;
case 4:
System.out.println("Dodawanie nowego filmu");
dodajFilmy();
break;
case 5:
System.out.println("Dodawanie nowej płyty");
dodajMuzyka();
break;
case 6:
System.out.println("Zapis danych do pliku");
zapisDoPliku1("ksiazki.xml");
zapisDoPliku2("filmy.xml");
zapisDoPliku3("muzyka.xml");
break;
case 7:
System.out.println("Odczyt danych z pliku");
odczytZPliku1("ksiazki.xml");
odczytZPliku2("filmy.xml");
odczytZPliku3("muzyka.xml");
break;
default:
System.out.println("Nie ma takiej opcji");
}
} while (opcja != 1);
}
private static void inicjalizujListe() {
}
}
package zaliczenie;
public class ksiazki {
protected String autor, tytul, gatunek;
ksiazki(String string, String string0, String string1) {
// throw new UnsupportedOperationException("Not yet implemented");
}
public String getGatunek() {
return gatunek;
}
public void setWydownictwo(String gatunek) {
this.gatunek = gatunek;
}
public String getTytul() {
return tytul;
}
public void setTytul(String tytul) {
this.tytul = tytul;
}
public String getAutor() {
return autor;
}
public void setAutor(String autor) {
this.autor = autor;
}
public ksiazki(String autor, String tytul, String gatunek, short rok) {
this.autor = autor;
this.tytul = tytul;
this.gatunek = gatunek;
}
public ksiazki() {
}
@Override
public String toString() {
return autor + ", " + tytul + ", " + gatunek ;
}
}
package zaliczenie;
public class filmy {
protected String rezyser, tytul, gatunek, wytwornia;
filmy(String string, String string0, String string1, String string2) {
// throw new UnsupportedOperationException("Not yet implemented");
}
public String getWytwornia() {
return wytwornia;
}
public void setWytwornia(String wytwornia) {
this.wytwornia = wytwornia;
}
public String getGatunek() {
return gatunek;
}
public void setGatunek(String gatunek) {
this.gatunek = gatunek;
}
public String getTytul() {
return tytul;
}
public void setTytul(String tytul) {
this.tytul = tytul;
}
public String getRezyser() {
return rezyser;
}
public void setRezyser(String rezyser) {
this.rezyser = rezyser;
}
public filmy(String rezyser, String tytul, String gatunek, String wytwornia, short rok) {
this.rezyser = rezyser;
this.tytul = tytul;
this.gatunek = gatunek;
this.wytwornia = wytwornia;
}
public filmy() {
}
@Override
public String toString() {
return rezyser + ", " + tytul + ", " + gatunek + wytwornia ;
}
}
package zaliczenie;
public class muzyka {
protected String wykonawca, album, rodzaj;
muzyka(String string, String string0, String string1) {
// throw new UnsupportedOperationException("Not yet implemented");
}
public String getRodzaj() {
return rodzaj;
}
public void setRodzaj(String gatunek) {
this.rodzaj = gatunek;
}
public String getAlbum() {
return album;
}
public void setAlbum(String album) {
this.album = album;
}
public String getWykonawca() {
return wykonawca;
}
public void setWykonawca(String wykonawca) {
this.wykonawca = wykonawca;
}
public muzyka(String wykonawca, String album, String rodzaj, short cena) {
this.wykonawca = wykonawca;
this.album = album;
this.rodzaj = rodzaj;
}
public muzyka() {
}
@Override
public String toString() {
return wykonawca + ", " + album + ", " + rodzaj ;
}
}
Program piszę w NetBeans. Programowanie nie jest moją pasją ani mocną stroną ale męczę się z tym parę dni i nie mogę zrobić. Pewnie robię jakieś podstawowe błędy i będą to banalne błędy. I z góry dziękuje za wszystkie podpowiedzi i wyjaśnienia co robię źle :)