Java gyakorlófeladatokban tudnátok segíteni?
Nem tudom megoldani a gyakorlófeladataim csak félmegoldások sikerülnek ebben kellene segítség.
A feladatok:
1).
Készíts egy metódust, ami két paramétert kap: 1. a dolgozatra elérhető maximális pontszám, 2. a tanuló által elért pontszám. A metódus adja vissza az érdemjegy szöveges értékét (jeles, jó, stb.)! A metódus neve erdemjegy legyen! Osztályozás: 0..49% elégtelen, 50%-65%-elégséges, 66%-75%-közepes, 76%-89%-jó, 90%-100% jeles.
2).
Készíts egy metódust, ami kap két String típusú paramétert! Az első egy esemény kezdetét, a második a végét jelzi óra:perc:másodperc formátumban. A metódus adjon vissza egy egész számot, ami a két időpont közt eltelt másodpercek számát adja vissza. Ha az esemény vége előbbi, mint a kezdete, az azt jelenti, hogy éjfél után (másnap) és véget, a metódus ezt is vegye figyelembe!
3)
Készíts egy metódust szamologep néven, ami kap 3 paramétert: szám, műveleti jel, szám! A metódus végezze el az adott matematikai alapműveletet (+-*/) és adja vissza az eredményt! Pl.: szamologep(3, "/", 2) => 1.5
4)
Készíts egy avg nevű metódust, ami paraméterként kap egy egész számokból álló tömböt, előállítja és visszaadja a számok számtani átlagát! (pl.: [4, 7] -> 5.5)
1.)
public static String erdemjegy(double p, double max){
double e = p / max * 100;
if(e >= 0 && e <= 49){
return "elégtelen";
}
else if(e >= 50 && e <= 65) {
return "elégséges";
}
else if(e >= 66 && e<= 75) {
return "közepes";
}
else if(e >= 76 && e <= 89) {
return "jó";
}
else if(e >= 90 && e <= 100) {
return "jeles";
}
return "hibás adat";
}
2)
public int difference(String first, String second){
LocalDate fistDate = LocalDate.parse(first, DateTimeFormatter.ISO_LOCAL_TIME);
LocalDate secondDate = LocalDate.parse(second, DateTimeFormatter.ISO_LOCAL_TIME);
if (firstDate.isAfter(secondDate)){
return firstDate.toSecondOfDay() - secondDate.toSecondOfDay();
}else{
return secondDate.toSecondOfDay() - firstDate.toSecondOfDay();
}
}
Java-ban nincs intervallumos switch-case tudtommal, de nem lehetett volna mégis valahogy azzal?
Egyébként az a gond, hogy leírtátok a megoldást - így nem tanul az ember.
#5:
Tapasztalatim szerint a switch case szerkezetet nagyon ritkán kell használni egy jól megtervezett alkalmazásnál. Érdemes a könnyű bővíthetőségre törekedni, pl ez esetben az érdemjegyekből lehetne egy enumot csinálni amiknek meg vannak a saját tulajdonságai (neve, érdemjegy, min százalék, max százalék, stb). Ez persze nem segít a kérdezőn mert nem az a feladat, de itt van if hálók és switch casek nélkül:
Amúgy első feladat esetében ha pl 75.5%-ot szerzek, (200 pontos tesztből pl 151 pontot), kapok rá egy nagy hibás adat érdemjegyet :/ A második feladat esetében pedig ha nem ismerjük a napot és időzónát, nem tudjuk eldönteni hogy volt e aznap óraátállítás.
#2:
Valszeg azért vagy lepontozva mert megcsinálod a kérdező helyett a háziját ami nem segítség. (bár nekem is segítség volt kölyök koromban amikor lemásoltam mások háziját, így nem kaptam karót szóval megértem, csak nem tanultam belőle semmit).
Viszont a második feladatra adott megoldásod rossz. Egyrészről LocalTime-ot kéne használni (amúgy is annak van csak toSecondOfDay metódusa és a parse defaultból ISO_LOCAL_TIME formátumot vár ez esetben), másrészről pedig nem megcserélni kell a kettőt ha a második kisebb mint az első hanem az eredményhez hozzá kell adni egy napot. Ehhez ajánlom figyelembe a Duration osztályt, különösképpen a between, ofDays, getSeconds metódusokat.
Kérdező:
Több segítséget kapnál a leírnád hol akadtál el és miért és megmutatnád meddig jutottál a feladat megoldásban, mert nem kérdést tettél fel hanem feladatot.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!