Witam, mam do napisania program na zajęcia z Javy.
zad1.
zad2.Cytuj:
Utwórz klasę reprezentującą jakieś przedmioty np. książki
Co do zad 1 to wszystko śmiga, mam klasę books, w niej kilka metod (między innymi "newBook", która służy do dodania nowej ksiazki). I rzeczywiście, wyskakuje mi okienko w którym wpisuje dane książki i potem mogę wyświetlić utworzony obiekt o zadanych parametrach. Klasa EnterData jest dostarczona przez prowadzacego.Cytuj:
Utwórz klasę reprezentującą grupę obiektów należących do klasy z zadania 1 np.
kartoteką książek, płyt itp.. W tej klasie zadeklaruj tablicę obiektów należących do klasy
z zadania 1 oraz metody wykonujące następujące operacje:
Problem jednak mam w zadaniu 2gim, poniższy kod zdaje się działać poprawnie jednak po sprawdzeniu czy booksCounter nie przekracza size nic się nie dzieję (powinien zapytac o parametry dodawanego obiektu i go stworzyc i dodac do tablicy)
zamiast tego w konsoli jest najpierw kilka innych wcześniej utworzonych obiektow, a po tym
pogrubiłem miejsce w kodzie gdzie wydaje się być coś nie takCytuj:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at booksList.addBook(booksList.java:26)
at main.main(main.java:47)
metoda newBook
klasa booksListKod:void newBook(EnterData t){
title = t.enterString("Wprowadz tytul: ");
price = t.enterDouble("Wprowadz cene: ");
pages = t.enterInt("Wprowadz liczbe stron: ");
}
mainKod:import java.io.*;
import javax.swing.*;
import java.util.*;
class booksList {
private static int size;
int booksCounter = 0;
static void enterBooks(EnterData t)
{
size = t.enterInt("Podaj liczbe ksiazek: ");
}
books [] booksList = new books[size];
void addBook(EnterData t){
if(booksCounter == size)
{
System.out.println("Lista ksiazek jest pelna.");
return;
}
booksList[booksCounter] = new books();
booksList[booksCounter].newBook(t);
booksCounter++;
}
}
Kod:booksList list = new booksList();
list.enterBooks(t);
list.addBook(t);