Keresés


Toplista

Toplista
  • betöltés...

Magántanár kereső

Ha szívesen korrepetálnál, hozd létre magántanár profilodat itt.
Ha diák vagy és korrepetálásra van szükséged, akkor regisztrálj be és írd meg itt, hogy milyen tantárgyban!

Heyho! kéne egy kis help:)

311
A feladat szövege:
A mellékelt fájl egy túraverseny célba ért résztvevőinek nevét tartalmazza a beérkezés sorrendjében. Biztos lehetsz benne, hogy mindenkinek pontosan egy vezetékneve és keresztneve van. Olvasd be az adatokat és válaszol meg a következő kérdéseket! A válasz elé írasd a feladat sorszámát!(Néhány versenyző nevében fura karaktereket láthatsz. Ne ijedj meg, direkt van!)
-Ki a leghosszabb nevű az indulók között?Ha több egyforma is van mindegyik jelenjen -meg!
-4.Írasd ki a veled azonos keresztnevűeket és a helyezésüket!Ha nincs ilyen, akkor erről adj üzenetet!
ezt a két feladatot h kéne megcsinálni ?
Ki a leghosszabb nevű az indulók között?Ha több egyforma is van mindegyik jelenjen meg!4.Írasd ki a veled azonos keresztnevűeketés a helyezésüket!Ha nincs ilyen, akkor erről adj üzenetet!
//3f:
int leghosszab=0;
for (int i = 0; i < turaString.length; i++)
{
for (int j = 0; j < 2; j++)
{
if ( turaString.length>leghosszab)
{
leghosszab=turaString.length;

}
System.out.println(leghosszab+turaString[i][j]);
}
}

//4f
for (int i = 0; i < turaString.length; i++)
{
for (int j = 0; j < 2; j++)
{
if ( turaString[i][j].equals("Anna"))
{
System.out.println(turaString[i][j]);
}
else if (turaString[i][j]==null)
{
System.out.println("");
}

}
}
(próbáltam így de nem jött össze+a nullas if azért van mert a txt-be vannak null adatok ess hogy ne írja ki)
Jelenleg 1 felhasználó nézi ezt a kérdést.
Java, eclipse, stringkezelés, split, t.lenght
0
Középiskola / Informatika

Válaszok

1
Azért a változók neveiről adhattál volna magyarázatot, hogy mi micsoda, de nagyjából kitaláltam. :D
Kezdjük a 3-sal. Ha a turaString.length azt adja vissza, hogy hány neved van, akkor ezt nem használhatod arra, hogy a leghosszabb nevet meghatározd. Ahhoz hogy egy név hosszát meghatárzod kell (pl. a legelső névét) a turaString[0][0] hosszát és a turaString[0][1] hosszát kell összeadnod, mivel vezetéknév + keresztnév hossza.
Most erre két módszer van, ami szerintem egyszerű. Lehet egy turaString.length hosszúságú tömböd, amiben minden névhez tárolod a nevének a hosszát. A végén megnézed, hogy melyik a legnagyobb szám és minden ahhoz a számhoz tartozó nevet kiíratsz.
A másik lehetőség, hogy csak egy int-ed lesz, amibe a legnagyobb számot rakod be, ehhez egyszer végig kell menned a neveken. Majd ha meg van a legnagyobb, akkor újra végigmész a neveken, és amik hossza megegyezik a legnagyobb-ban tárolt értékkel, azokat kiiratod.
A 4-es. Itt felesleges a 2 for ciklus, mivel a vezetéknévvel nem kell összehasonlítanod a keresztneved, mivel ez nem a feladat része. Elég ezt nézni turaString[i][1].equals("Anna").
Szerintem a null ellenőrzése is felesleges, mivel csak akkor írsz ki valamit, ha az if-ben lévő állítás true, vagyis ha a keresztnév megegyezik az Annával. Illetve ez ezért sem jó, mert csak azt írod ki, ami megegyezik a neveddel, nem pedig a teljes nevet. Vagyis ha turaString[10][1].equals("Anna") == true, akkor azt írja ki, hogy turaString[10][1], ami annyi, hogy "Anna", mivel true a kifejezés értéke.
Javaslom, hogy a println-ban külön először legyen a vezetéknév turaString[i][0], majd a keresztnév turaString[i][1].
Remélem nem hagytam ki semmit és érthető volt, ha valami nem okés, akkor írj.
0