Kezdőoldal » Számítástechnika » Programozás » Hogyan tudom példányosítani a...

Hogyan tudom példányosítani a main-ben egy külön osztály függvényét?

Figyelt kérdés

Van egy public class Player {} osztályom. Ezeb belül van egy Player (String line) {} függvényem. A paraméterét a mainben adom meg. De előtte példányosítanom kell. Elfelejtettem a szintaktikáját, azt hittem, így épül fel: Player jatekos = new Player();


Előre is köszi!



2018. okt. 21. 12:25
 1/10 anonim ***** válasza:

ezt próbáltad már?

Player jates = new Player("szoveg");

2018. okt. 21. 12:35
Hasznos számodra ez a válasz?
 2/10 anonim ***** válasza:
jatekos*
2018. okt. 21. 12:35
Hasznos számodra ez a válasz?
 3/10 anonim ***** válasza:
Kell egy parameter a constructorhoz
2018. okt. 21. 13:46
Hasznos számodra ez a válasz?
 4/10 anonim ***** válasza:
Ott mutatja a függvényed, hogy van annak egy string paramétere, példányosításkor meg meg kell neki adni valamit, elvégre valamiért csak kell az a string argomentumnak.
2018. okt. 21. 13:52
Hasznos számodra ez a válasz?
 5/10 A kérdező kommentje:

Megadom neki a paramétert, de így sem jó.

Konkrétabban megfogalmazva a programomat, ez egy fájlkezelés. A Player osztály célja, hogy letárolja a txt-ben lévő feldarabolt sort (soronként olvasom be, de a sorokat még feldarabolom).

A try blokkban az található, hogy beolvasom az egyik sort, azt letárolom egy stringben, majd ezt a paramétert adom meg példányosításnak. (Player jatekos = new Player(line);)



Íme a teljes program:


public class Player {


String name;

String category;

String club;

int[] results=new int[8];


Player(String line){

String[] elements=line.split(";");

name=elements[0];

category=elements[1];

club=elements[2];


for(int i=0;i<8;i++) {

results[i]=Integer.parseInt(elements[i+3]);

}

// es itt akar lehet is mindenfelet szamolni

}

}


public static void main(String[] args) {


File fajl = new File("c:\\data\\fob2016.txt");



try{

Scanner szkenner = new Scanner(fajl, "UTF8");

String line = szkenner.nextLine();

Player jatekos = new Player("line");

}

2018. okt. 21. 14:11
 6/10 anonim ***** válasza:

Gyanítom, az alábbi feladatról van szó:

[link]


"Íme a teljes program:"

Ez nem a teljes.

Feltételezem van valamilyen fő osztály az elején - például:

public class Footgolf {

a Try után van egy catch is, illetve beimportáltad a megfelelő csomagokat is.


És akkor ugye nem egy "line" értékű karakterláncot adsz át a konstruktornak, hanem a line változó tartalmát:

Player jatekos = new Player(line);

2018. okt. 21. 16:15
Hasznos számodra ez a válasz?
 7/10 A kérdező kommentje:

A teljességet arra értem, hogy a feladat szempontjából ez a teljes program(rész).

És természetesen van catch, main és az importok is.

Szintén igaz, hogy a 2018-as érettségi feladatnak ugrottam neki és elírás a a paraméterem, mivel valóban nem karakterláncot akartam írni. A program ettől függetlenül nem tartalmaz olyan hibákat, amelyeket észrevettél itt.

Ugyanígy írom és azt a hibát kapom, hogy "non-static variable this cannot be referenced from a static context"

2018. okt. 21. 16:22
 8/10 anonim ***** válasza:

"Ugyanígy írom és azt a hibát kapom, hogy "non-static variable this cannot be referenced from a static context""

Ez meg azért van, mert egy statikus metódusból hívsz meg egy nem statikusat.


Ennek kivédésére a Player osztályt a következőképp módosítsd:

public static class Player {

2018. okt. 21. 16:29
Hasznos számodra ez a válasz?
 9/10 A kérdező kommentje:

Á megvan. Köszönöm szépen!


Az egyetlen problémám most már csak a megértésével van. Miért jobb így letárolni, ha később ezzel újra soronként kell dolgoznom? Nem mondhatom meg az ArrayList-nek hogy a 3. oszloptől a 5.sortól adja össze a számokat? Vagy mégis?

2018. okt. 21. 18:08
 10/10 anonim ***** válasza:

"Nem mondhatom meg az ArrayList-nek hogy a 3. oszloptől a 5.sortól adja össze a számokat? Vagy mégis?"

Használhatnál Arraylist-be ágyazott Arraylistet - utóbbi többféle adattípust is tartalmazhat:

[link]

de ez nem "hülyebiztos".


Ezért csinálunk külön osztályt - C-ben/C++-ban erre ott a struct, Pascalban a record ( [link] ).

2018. okt. 22. 00:49
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!