Hirdetés
- iPhone topik
- Android alkalmazások - szoftver kibeszélő topik
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Apple iPhone 17 Pro Max – fennsík
- Samsung Galaxy S25 - végre van kicsi!
- Samsung Galaxy A54 - türelemjáték
- Google Pixel topik
- Youtube Android alkalmazás alternatívák reklámszűréssel / videók letöltése
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Xiaomi 15 Ultra - kamera, telefon
Új hozzászólás Aktív témák
-
Szmeby
tag
válasz
Vesporigo
#10658
üzenetére
A szortírozós kérdésem inkább elgondolkoztató jellegű volt. Ha tudod, hogy egyéb esetekben milyen díjszabást kell alkalmazni, akkor azt a konstruktort kell meghívnod és az objektumot visszaadnod, ami azt a díjat számolja ki.
De látom, hogy sikerült megoldani, úgyhogy nem ragozom tovább. Grat! -
axioma
veterán
válasz
Vesporigo
#10652
üzenetére
Egyreszt tipikus switch-case pelda az else if-ek helyett, ha mar tanultatok.
Masreszt gyanus, hogy az altipusok konstruktorai nem kapjak meg a szam nevu stringet.
Harmadreszt lehet egybolreturn new KwakPhoneNumber(szam);alakban. Vagy ha mar mindenkepp valtozoba is teszed (bar ez a jelen reszlet nem indokolja), akkor nem kell az adott agon vissza is adni, eleg az ahova odakommentelted...ami jelenleg nonreachable, az IDE nem jelzi neked?ja nem, akkor az jo, ha az az altalanos eset, de ott is kene akkor egy konstruktorhivas es a parameter megadasa.[Amugy az altipusok azok leszarmazottjai rendesen a PhoneNumbernek? Mert anelkul nem fog menni.]
-
Szmeby
tag
válasz
Vesporigo
#10652
üzenetére
Ha tudod, hogy az 1 a Kwak, 8 az Iki, és a 9 pedig McChip, akkor azt is illene tudnod, hogy az összes többi esetben (0, 2, 3, stb) micsoda. Nos, ezt a bizonyos
new MicsodaPhoneNumber()-t fogod azokban az esetekben visszaadni.
Mi a célja az első karakter szerinti szortírozásnak?Megj. 1: Stringeket ne hasonlíts össze egymással az
==operátort használva, mert hibás eredményt kaphatsz, aString#equals()javasolt helyette. De akár maradhatott volna char is az a firstLetter. Mindezektől függetlenül aString#startsWith()picit átláthatóbbá tenné a kódot.Megj. 2: A System.exit() nem szép, ne nagyon szokd meg. Majd amikor tanulsz az Exception-ről, egy világ tárul ki előtted.
Megj. 3: Az
== trueelhagyható. Az== falseis, amennyiben használod a!operátorral jelzett tagadást. Vagy egyszerűen else if helyett csak simán az else kifejezést használod (persze ez esetben meg kell cserélni a két külső blokkot, és a végén lesz a hibás formátum jelzése, de ez semmit nem változtat a működésen).Megj. 4: Jávában a változók neveit kisbetűvel kezdjük, ez egy ilyen konvenció.
Megj. 5: Ha megfigyeled, hogy minden if blokkod ugyanúgy végződik (
return phoneNumber;), akkor felmerülhet a gondolat, hogy felesleges annyiszor megismételni azt, elegendő az összes if blokk mögött elhelyezni, csupán egyszer, az eredmény ugyanaz lesz. -
axioma
veterán
válasz
Vesporigo
#10546
üzenetére
A gond ott kezdodik (bocs, nem bantas, hanem segitseg akar lenni), hogy mas az osztalydefinicio es mas a peldany.
Menjunk vissza, mi a cel? Lesznek ember-peldanyaid, meg ital-peldanyaid, es az a kerdes, hogy ha megissza egy emberpeldany az italt, mi a(z uj) veralkohol-szintje. Vagy az jobban illik az eddigi kododhoz, hogy ha meginna, mennyivel emelne a veralkohol-szintjet.Szoval a lenyeg, hogy a fenti, nevezzuk inkabb verezrelekNoveles() fuggvenyednek kene egy Ital tipusu parametert definialni, es az adott ital-peldanytol elkerni a megfelelo adatot.
public double verezrelekNoveles(Ital egyital) {
return egyital.getAlkoholGramm() / kilogramm;
}Az elnevezes most direkt ilyen "kilogo", hogy jobban lasd a kulonbseget, de nem kovetendo.
szerk. lassu vagyok... keresztposzt
-
válasz
Vesporigo
#9773
üzenetére
3,4 (tizedes vesszővel) nem megfelelő double reprezentáció. Ha 3.4-et (tizedes ponttal) adtál volna meg, akkor megjelenítette volna.Ja és a nagyobb probléma, hogy beker-ben nem kell új instance, mert nem a jelen instance-ra állítod be a változókat, hanem az újonnan létrehozottra:
public void beker() {
Scanner sc = new Scanner(System.in);
System.out.println("Kérem a diák nevét!");
nev = sc.nextLine();
System.out.println("Kérem a diák születési évét!");
szuletesiEv = sc.nextInt();
System.out.println("Kérem a diák átlagát!");
atlag = sc.nextDouble();
} -
Lortech
addikt
válasz
Vesporigo
#9701
üzenetére
Amikor deklarálsz egy metódust, mindig meg kell adni a visszatérési értékének típusát vagy a voidot.
Vegyünk két metódust:
void m1() {
}String m2() {
return "visszatérési érték";
}m1 void, ami azt jelenti, hogy nincs visszatérési értéke, azaz a metódus hívás nem használható olyan kontextusban, ahol egy értéket várunk.
pl.
String x = m1(); //hibás, mert m1 nem tér vissza értékkel.
System.out.println(m1()); //hibás, mert m1 nem tér vissza értékkel.
x = m2(); // ok, x értéke "visszatérési érték" leszUgyanígy m1 metódus törzsében nem adhatsz meg pl. return "xyxy"; utasítást, mert nem térhetünk vissza értékkel, ellenben megadhatunk return; utasítást, amivel jelezzük, hogy adott ponton térjen vissza a metódus (visszatérési érték nélkül).
pl.void m1() {
return "xyxy"; //hiba
return; //ok, de nem kötelező, itt felesleges
} -
kispx
addikt
válasz
Vesporigo
#9491
üzenetére
Jó lesz kezdésnek. Többen is azt javasolták, mivel az alapoktól kezdi.
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Lenovo LOQ 15IRH8 - 15.6"FHD IPS 144Hz - i5-12450H - 16GB - 512GB - RTX 4050 - Win11 PRO - 1 év gari
- RTX5070/ Ultra9 275HX/ 32GB DDR5/ 15.1' OLED/ Premium Care garancia/ bontatlan, új/ Legion 5
- NZXT Kraken Z53 RGB(fehér)+NZXT H5 Elite ATX(fehér) garancia 2026.01.31-ig
- Apple Watch Ultra, Újszerű,Dobozával, 12 hónap garanciával
- Tamron 28-75mm F/2.8 Di III VXD G2 (Sony E)
- Garmin Forerunner 405 GPS óra
- Honor 200 Lite 256GB, Kártyafüggetlen, 1 Év Garanciával
- Telefon felvásárlás!! Samsung Galaxy A70/Samsung Galaxy A71/Samsung Galaxy A72
- Samsung Galaxy A32 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! Intel Core i7 8700K 6 mag 12 szál processzor garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest



