Kezdőoldal » Számítástechnika » Programozás » Java osztályok közt hogy...

Java osztályok közt hogy adunk át változókat?

Figyelt kérdés
Van egy .java fájl és abban két osztály amiben az elsőben a main függvényben scannerrel bekérek 3 double adatot de én ezzel a 3 adattal le szeretném futtatni a másik osztályt is . Két napja szórakoztat a chat gpt getterekkel meg szvetterekkel meg mindenféle jobbnál jobb módszerekkel amikkel át lehet adni a változókat de egyik se működik és soha nincs probléma a kódban és mindig mikor mutatom az kész kódot kitalál valami teljesen mást , ezt csinálja lépésről lépésre állandóan összekavarja a már megírt kódot de az újjak se jók már nagyon elegem van . Valaki aki tanár mondja már el hogy kell egy nyomorult változót átadni egyik osztályból a másikba ?

2023. júl. 29. 11:36
 1/10 anonim ***** válasza:
100%

Miért nem működtek a getterek? Mi volt a probléma?

Az egyik osztályban írsz egy-egy getter metódust a három adathoz, a másik osztályból meghívod ezeket és át is vannak adva a számok a másik osztálynak.

2023. júl. 29. 12:12
Hasznos számodra ez a válasz?
 2/10 anonim ***** válasza:

-Konstuktorral át tudod adni a változtó a osztályból a specifikus instance létrehozásahoz. Tehát amior olyat írsz, hogy "new Osztály(val1, val2, val3);"


-Ahogy említettek setterrel is be tudod állítani ezeket a változókat.

Ennél a 2 módszernél azt feltételzem, hogy az osztályban ez a 3 változó privát változó formában jelen vannak, itt csak fel akarok tölteni értékekel.


-Azt is el tudom képzelni, hogy az másik osztályon belül csak egy függvényt akarsz meghívni, így ott is át tudod adni a függvény argumentumaként. Ugyan úgy mit a setter függvényeknél, csak itt már rögtön elkezdesz az adattal dolgozni.


Ír látatlanul ennél többet nem tudok mondani, de ha feltöltöd a kód részletet, akkor szívesen ránézek.

2023. júl. 29. 12:15
Hasznos számodra ez a válasz?
 3/10 A kérdező kommentje:

Az a baj hogy a GPT folyamatosan félrevezet . Azt mondja hogy a két osztály között kell a gettereket megírni aztán beküldöm neki az egész kódot , kijavítja azt úgy se jó aztán mindig kitalál valami mást és átírja de úgy se jó akármit mond soha nem jó de elegem lett és idegemben összevontam egy osztályba mer nem fogok 20 órán át egy hülye géppel vitatkozni .


Javában kezdő vagyok , nem tudtam hogy ilyen szenvedés egy nyomorult változt átadni én úgy gondoltam mint javascriptben van a globális tér és akkor ami ott van azt használhatja mindenki osztályokon belül de nem.


Azt is kipróbáltam hogy ne privát hanem publik legyen minden osztály és a globális térben deklarálom a változókat de úgy se visz át semmit .


És nem csak a getterekkel hanem vagy 3 más módszerrel sem működött , eleve azzal kezdtünk hogy a main args nak adjuk át a változókat akkor meg stringé kell konvertálni aztán vissza doublebe és mégsem adott át semmit csak 1 eseket .

2023. júl. 29. 14:27
 4/10 anonim ***** válasza:
A kifakadás mellett azért felfogtad amit írtunk?
2023. júl. 29. 15:06
Hasznos számodra ez a válasz?
 5/10 anonim ***** válasza:
Abszulút nem nehéz. Kélek másod be ide a kódot és szívesen elmondom mi, mért nem működik és hogyan lehetne megoldani….
2023. júl. 29. 17:06
Hasznos számodra ez a válasz?
 6/10 anonim ***** válasza:

#3

"Az a baj hogy a GPT folyamatosan félrevezet "

Ezért nem kellene úgy használni, hogy nem érted.


"van a globális tér és akkor ami ott van azt használhatja mindenki osztályokon belül de nem"

Tudsz ilyet is csinálni, de láthatóan nem ezt csinálod.


"de úgy se visz át semmit"

Áh, kezdem érteni.

Te mit értesz "átvinni" alatt?

2023. júl. 29. 17:47
Hasznos számodra ez a válasz?
 7/10 A kérdező kommentje:

Csak arra akarok egy példát látni hogy van két osztályod és az egyikből átviszel double értékeket a másikba .


A kódom már nem úgy néz ki mert mint mondtam elegem lett és beírtam egy osztályba az egészet így nem kell átvinni változókat .


A jípítit meg nem tudom annál jobban használni hogy a komplett kódot küldözgettem már a végén be és mindig kijavítgatta átírta aztán én visszaküldtem neki mert szar volt aztán mentegetőzött hogy hát ezt nem így kellett volna és végtelenségig javítgatta de az amire kijavította az is ugyan úgy ment vissza neki mert nem jó és arra is azt mondta hogy hát ezt nem így kellett volna és megint és ez ment körbe körbe napokig én meg meguntam. Ha a gép se tudja hova kell elehelyezni két class nál ezeket getter settereket akkor maradnak az élő emberek :D


Parancssori argumentum átadással szórakoztunk egy napot mondom az se működött ,nagykegyesen elárulta hogy ja hiába küldök doublet az stringként megy rá oké kijavítottam de akkor se működött csak 1 ként értelmezte bármit írtam be .


Nem csak getter setter hanem speciális adatátküldő eljárásokat is végigvettünk mint mondtam egyik se működött és olyan bonyolult volt a szintaxisa hogy én már át se láttam .


Akkor hagytam rá ezt a dolgot amikor minden felmerült problémára az ellenkezőjét adta tanácsnak ,amikor hol privát hol public konverziós bajok voltak de az volt rá a válasz hogy annak publicnak kell lennie aztán nem jó akkor meg hogy privát de az se jó úgy mondom hogy az egész kód ott volt nála nem igaz hogy nem látja mit kell csinálni .


Amúgy a program lényege hogy cnc programot íratok vele és elmentem fájlként .Rengeteg formázás konverzió van benne mert hol számolni kell a 3 adattal amire épül hol szöveget kell alkotni sorokat ezért nehéz átlátni. És ebből csináltam két típust mert a másik maró mozgását generálja le és azt akartam hogy ez a két class egy ütésre lefusson így létrehozva a 2 fájlt mivel 200 db fájlt kell létrehozni ahány maró ahány darabszám ezek összeszorzódnak.


De ezt megoldottam egyben és 3 forciklussal egy felparaméterezéssel legenerál akár többezer különböző programot is csak most egy osztályban van mind a két típus program.

2023. júl. 29. 19:59
 8/10 anonim ***** válasza:
100%

Kérdező, neked az alapvető Java ismereteid hiányosak, szerintem így nem kellene komolyabb programba kezdened. Van egy könyv, az a címe, hogy Schildt H. - Java The Complete Reference 12ed. Szerintem ez a legjobb Javas könyv, javaslom, szerezd be és mélyedj el benne.


Egyébként két osztály közt úgy tudsz a legegyszerűbben adatot átvinni, hogy az egyiket példányosítod a másikban, és ha van a másiknak megfelelő hozzáférési módosítóval ellátott adattagja (pl. public), akkor annak az adattagnak tudsz értéket adni. Ha nincs, akkor mondjuk setter metódussal. Pl. ha van egy A és B osztályod, az A osztályban példányosítod a B-t:


B bosztaly = new B();

B.adattag = 12.847;


Vagy setter metódussal:


B bosztaly = new B();

B.setAdattag(12.847);

2023. júl. 29. 21:05
Hasznos számodra ez a válasz?
 9/10 anonim válasza:
En alosztalyt kepeztem es abban mindent hasznalhattam az ososztalybol, utana egy main osztalyba beraktam hogy new alosztaly es mar jo is lett . Persze nem ertem hogy miert indult el az ososztaly konstruktora... meg egy csomo minden mast. Pl hibauzenetet kaptam a szit.hu gui peldajabol amire a neten sok debuggeres suletlenseget irtak pedig csak a keret objektum hianyzott az egesz peldabol! Az osszes peldakod ilyen . Aki ert ehhez az mar 15 eve svajci allampolgar es milliomos.
2023. dec. 3. 01:52
Hasznos számodra ez a válasz?
 10/10 anonim válasza:
Profi kodolo mondta h orulni kell ha egy progi mukszik. Akkor itt valami nem stimmel. Sokkal tobb ez mint valtozo csere. Nekem van 2 osztalyom ezt regen modulnak hivták egy gui meg egy algoritmus es ezt ossze kellene kapcsolni hogy az algoritmus tudja hasznalni a guit. A wikin az van hogyaz oop majdnem akkora szelhamossag mint az mi . Rendben csak mostanra mar minden nyelv oop lett es ez 30 eve igy van. A lenyeg mindig is a specko volt sokan dolgoztak a szakmaban ugy hogy egy sor kodot nem irtak . Anno boldog boldogtalan elvegezte a progmatot bmerol , tanarkent , soterol stb . Vegul ezaz oop egy osszetakolt katyvasznak tunik.
2023. dec. 12. 07:20
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!