Hirdetés
- sziku69: Fűzzük össze a szavakat :)
- Mr Dini: Mindent a StreamSharkról!
- sziku69: Szólánc.
- gban: Ingyen kellene, de tegnapra
- Magga: PLEX: multimédia az egész lakásban
- Luck Dragon: Asszociációs játék. :)
- Dr. Mózes: Lakberendezési tanácskérés
- eldiablo: 30 év után szakítottunk, de azért még beszélünk...
- Brogyi: CTEK akkumulátor töltő és másolatai
- GoodSpeed: Te hány éves vagy?
Ú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
Hirdetés
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- sziku69: Fűzzük össze a szavakat :)
- Amit látnod kell 80’ – 90’ évek, egész estét betöltő mozi filmjei.
- OLED monitor topic
- Világ Ninjái és Kódfejtői, egyesüljetek!
- Mesterséges intelligencia topik
- Nem engedi el a 128 GB-ot a Google
- exHWSW - Értünk mindenhez IS
- Anime filmek és sorozatok
- Anglia - élmények, tapasztalatok
- Internet Rádió építése (hardver), és programozása
- További aktív témák...
- Eladó Konfig Intel Core Ultra 7 265KF 32GB DDR5 2TB SSD RTX5070Ti 16GB O11 EVO Lamborghini!
- Bontatlan Dobozos Új Lenovo Thinkpad T14 G5 Laptop 14" -45% Ultra 7 155U 32/512 FHD+ Magyar!
- AOC C27G4ZXE Gaming Monitor 280Hz 1Ms
- ÚJ HP Pulsefire Haste Wireless Bolti ár:30k INGYEN FOXPOST
- Bontatlan Dobozos Új Lenovo Thinkpad T14 G5 Laptop 14" -45% Ultra 7 155U 16/512 FHD+ Magyar!
- Apple iPhone SE 2020 128 GB Fehér 1 év Garancia Beszámítás Házhozszállítás
- Gamer PC- Számítógép! Csere-Beszámítás! R5 5500 / RX 6700XT 12GB / 16GB DDR4 / 1TB Nvme SSD
- Dell 14 Latitude 5430 FHD IPS i7-1255U vPro 4.7Ghz 10mag 16GB 256GB Intel Iris XE Win11 LTE Garancia
- Xiaomi Redmi Note 10s 128GB, Kártyafüggetlen, 1 Év Garanciával
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


