- Hisense LCD és LED TV-k
- AMD GPU-k jövője - amit tudni vélünk
- HiFi műszaki szemmel - sztereó hangrendszerek
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
- Melyik tápegységet vegyem?
- Szó szerint táptitán az FSP legfrissebb üdvöskéje
- 520 Hz-es monitorok duója az ASRock védjegyével
- Nem indul és mi a baja a gépemnek topik
- Fejhallgató erősítő és DAC topik
- Sony MILC fényképezőgépcsalád
Új hozzászólás Aktív témák
-
bucsupeti
senior tag
A static metódus arra enged következtetni hogy valószínű ugyan abban az osztályban van ez a kaloriaKiir metódus amiben a main() és azért static hogy tudd meghívni a main-ben.
Lehet hogy a vizsgára amire készülsz ez jó és elegendő. Én a következő osztályokkal dolgoznék:
Gyumolcs : egyetlen gyümölcs adatait tároló POJO osztály. semmi extra metódus nem kell ebbe. Max a toString-et írd felül hogy az objektum értékeit adja vissza.
KaloriaTabla : lenne benne egy ArrayList<Gyumolcs> lista, egy adatbeolvasó metódus ami feltöltené ezt a listát. Konstruktorba feltölteném a listát. Kell egy kereső metódus ami egy string alapján keres a listában a gyümölcs neve alapján és Gyumolcs-öt adnék vissza, vagy null-t ha nincs. (Ez az osztály lehetne akár singleton is, ha már tanultátok)
A futtató osztályban (amiben a main() van), megírnám a felhasználói felületet, menüt, a névbekérést stb. Itt példányosítanám a KaloriaTabla-t és ennek a kereső metódusát hívogatnám.
Igaza van Sirpi kollégának abban hogy a contains használata nem a legjobb megoldás. Ha contains-t használsz akkor kezeld úgy hogy nem csak egy hanem több gyümölcsöt is kaphatsz eredményül, és ilyenkor minden találatot jeleníts meg.[ Szerkesztve ]
"Nem gond ha nem vágod a párologtatók bináris nyelvét..."
-
Sirpi
senior tag
Ez a rész háromszor is szerepel: gyum.toString().contains(nev)
Egyrészt a harmadik automatikusan teljesülni fog, elhagyható, egyetlen vizsgálat is elég. Másrészt gondolom az elso gyum helyett az ertekek változót akartad használni, így az értékek.contains(nev) pont az, amire szükséged van, sőt, a toString-ezés miatt ha akár egyetlen betűt írsz be, ami a felsorolt gyümölcsök valamelyikében szerepel, azt is el fogja fogadni, nem néz teljes egyezést. Kicsit egyszerűsítve:
public static void kaloriaKiir(List<Gyumolcs> ertekek) {
Scanner scan = new Scanner(System.in, "ISO-8859-2");
System.out.println("Kérem a gyümölcs nevét: ");
String nev;
while (!ertekek.contains(nev = scan.nextLine())) {
System.out.println("Nem megfelelő név, újat kérek!");
}
System.out.println("Kérem a mennyiséget grammban: ");
int menny = scan.nextInt();
for (Gyumolcs gyum : ertekek) {
if (nev.equals(gyum.Megnevezes)) {
System.out.println(menny + " gramm " + gyum.Megnevezes + " " + gyum.kcal / 100 * menny + " gramm kalóriát tartalmaz.");
}
}
}[ Szerkesztve ]
Hazudnék, ha cáfolnám annak tagadását, hogy ez az ital nem nélkülözi a koffeinmentesség megnemlétének hiányát. Na most akkor van benne koffein, vagy nincs?!
-
Drizzt
nagyúr
Bulizhatz rekurzioval: az utolso else agban meghivhatod a kaloriaKiirt megegyszer.
Bulizhatsz do-while ciklussal: do... while (beolvasott szo nem gyumolcs).Amugy van sok furcsasag a kododban. Lehet csak a tableten nem latom, de mi szukseged van a File f parameterre? Mi a gyum, honnan jon az extended for loop elott. Van egy static String gyumod az osztalyban valamilyen ertekkel?
I am having fun staying poor.
-
floatr
veterán
Olyant is csinálhatsz amúgy, hogy egy stringbe betolod az összes magánhangzót, és indexOf metódussal ránézel. Ha optimalizálni akarod, akkor sorba rendezett karakterekkel logaritmikus kereséssel is mehet
Amúgy meg:
String text = ...; // a beolvasott cucc
long vowelCount = text.toLowerCase()
.chars()
.filter(c -> "aáeéiíoóöőuúüű".indexOf((char) c) != -1)
.count(); -
bandi0000
nagyúr
Első résznél biztos van egyszerűbb megoldás, de nekem hirtelen egy dupla for ugrik be, létrahozol egy String változót, amibe belerakod egy szövegként a magánhangzókat, külső forral ezen mész végig, a belső forban meg a vers részleten, és ellenőrzöd, hogy egyeznek e, ha igen, akkor növelsz egy számlálót
Másodikra talán ez segít
Harmadiknák meg mi nem világos? igazából csak elvégzed a műveleteket, esetleg annyi, hogy a gyök alatti kifejezést ellenőrzöd, hogy - lett e, ha igen, akkor beszorzod -1-el, gyököt vonsz, és kiíratásnál még hozzáírsz egy j-t a végére
Xbox One: bandymnc
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- The Crew sorozat
- Hisense LCD és LED TV-k
- Villanyszerelés
- Kutya topik
- AMD GPU-k jövője - amit tudni vélünk
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- HiFi műszaki szemmel - sztereó hangrendszerek
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
- Half-Life - A G-Mant megszólaltató színész rejtélyes bejegyzéssel zárta az évet
- Real Racing 3 - Freemium csoda
- További aktív témák...
- Apple iPhone SE 2022 64GB, Akku: 100%, Megkímélt, Kártyafüggetlen, Töltővel, 1 Év Garanciával!
- Apple iPhone 12 Pro 128GB, Akku: 100%, Megkímélt, Kártyafüggetlen, Töltővel, 1 Év Garanciával!
- OLVASS! Csere-Beszámítás! Playstation 5 Lemezes 825GB Konzol! 2 Joystick
- Gamer PC RTX3080 AMD Ryzen 7 5700X
- Apple iPhone 14 Pro 128GB, Akku: 87%, Normál, Kártyafüggetlen, Töltővel, 1 Év Garanciával!
- KÉSZLETRŐL! / ÚJ / Topographic Gaming Mouse Pad / 800x300x2mm / Vonalmintás Egérpad
- AMD Ryzen 9800X3D - 8 Core 5.2 Ghz - 96MB L3 Cache - Bontatlan 3 Év garanciával
- Lenovo Thinkbook 14 G2 Ryzen 7 4700U valódi 8 mag 16Gb DDR4 512Gb NVMe Radeon Számlával Garanciával
- Samsung Galaxy Buds2 Pro
- Manli RTX 3070 8Gb
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest