DoubleArrayList - klasa opakowania

0

Witam.
Przerabiam książkę Java 2 Podstawy i jestem w rozdziale mówiącym o klasach opakowań. Jest tam częściowy kod na temat wrzucania liczb zmiennoprzecinkowych do ArrayList oraz operowania na nich.
Chciałem napisać cały program, ale coś mi nie wychodzi. Metoda main jest statyczna, natomiast inne metody nie statyczne. W książce klasa ta nie miała w ogóle maina, ale chciałem sprawdzić jak to działa. Poniżej wrzucam kod:

class DoubleArrayList {
	public void static main(String[] args) {
		System.out.println(rozmiar());
		dodaj(2.12);
		dodaj(3.13);
		zmien(0, 4.14);
		System.out.println(rozmiar());
		System.out.print(pobierz(0));
	}
	public DoubleArrayList() {
		pojemnik = new ArrayList();
	}
	
	public void dodaj(double x) {
		pojemnik.add(new Double(x));
	}
	
	public void zmien(int n, double x) {
		pojemnik.set(n, new Double(x));
	}
	
	public int rozmiar() {
		return pojemnik.size();
	}
	
	public double pobierz(int n) {
		return ((Double)pojemnik.get(n)).doubleValue();
	}
	
	private ArrayList pojemnik;
}
0
public void static main(String[] args) {
                System.out.println(rozmiar());
                DoubleArrayList();//tworzenie obiektu. Zapomniałes tego napisać.
                dodaj(2.12);
                dodaj(3.13);
                zmien(0, 4.14);
                System.out.println(rozmiar());
                System.out.print(pobierz(0));
        }
2
public void static main(String[] args) {

                DoubleArrayList obiekt = new DoubleArrayList();
                System.out.println(obiekt.rozmiar());
                obiekt.dodaj(2.12);
                obiekt.dodaj(3.13);
                obiekt.zmien(0, 4.14);
                System.out.println(obiekt.rozmiar());
                System.out.print(obiekt.pobierz(0));
        }
0

Świetnie, działa tak jak powinno po dodaniu obiektu z klasy DoubleArrayList. Nie wiem dlaczego ale wcześniej jak tak próbowałem to wyrzucało mi błąd, a teraz jest ok. Pewnie coś namieszałem wcześniej :)

Dzięki ;)

0
ArrayList<Double> lista = new ArrayList<Double>();

double f = 4.4;
Double x = new Double(2.0);

lista.add(f);
lista.add(x);

System.out.println(lista.get(0)*lista.get(1)); // 8.8

Automatyczne konwertowanie m.in. double -> Double -> double zwie się autoboxingiem.

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