Java objekt
Ahoj, potřeboval bych poradit ohledně objektů v Javě.
Mám class strávník,
Abych založil objekt, použiju příkaz:
Stravnik Petr = new Stravnik("Petr", 2);
Kdy číslo (2) - reprezentuje proměnnou tzv hlad. (netřeba vysvětlovat).
Na začátku programu se pomocí scanneru zadá počet jmen (objektů).
Např 3, tak mám tedy vytvořit 3 objekty, kterým zadám z klávesnice jméno a hlad:
for (int i = 0; i < 3; i ++){
System.out.println("Zadej jmeno: ");
jmeno = sc.nextLine();System.out.println("Zadej uroven hladu: ");
hlad = sc.nextInt();Stravnik jmeno = new Stravnik(jmeno, hlad);
}
Proč to takhle nejde? Založit objekt a použít proměnnou jmeno a hlad? Jak to udělat jinak? Poradí někdo?
Udělat to takhle jde. Tvůj problém je v tom, že se snažíš mít dvě proměnné s názvem "jmeno".
Někde nadtím máš nadeklarovanou proměnnou String "jmeno" a poté do nějakého strávníka "jmeno" vytváříš objekt strávníka - dvě proměnné se nemůžou jmenovat stejně.
A když už říkáš, že chceš vytvořit třeba 3 strávníky, tak v tvém kódu 3 strávníky nevytvoříš, ale v každém průběhu cyklu sice vytvoříš strávníka nového, ale strávníka z minulého průchodu jsi již ztratil - zůstane ti pouze třetí strávník a to pouze uvnitř toho cyklu for, jelikož jsi ho nadeklaroval uvnitř.
Nejlepší by bylo (pokud chceš uložit strávníků víc) si nad hlavičkou cyklu vytvořit pole o velikosti 3 a potom do pole ukládat nějak takto...:
...a až cyklus doběhne, máš v poli 3 strávníky se zadanými hodnotami.
Díky za radu a ponaučení