Egy string tömbben megkéne számolni, hány 'c' betű van a szavakban összesen, hogy kéne? (java)
keresgéltem a neten, de nem sikerült sehogy, ezt gondoltam, de nem működik:
for (int i=1; i<=szoveg.length-1;i++) {
if (szoveg[i].charAt(szoveg[i].length()-1)=='k') {
db=db+1;
}
A fenti kód bár nem tökéletes (vagy nullától indexelsz, vagy nem kell a -1 a végére stb.) elvi szinten jó lenne arra, hogy a teljes szövegben számoljon, szavanként azonban nem fog. Még arra felhívnám a figyelmed, hogy a kérdésben c, a kódban meg k betű van...
Ha szavanként akarsz statisztikát csinálni, akkor előbb fel kell bontanod a stringet szavakra. Aztán futtasd le a kiírt kódod javított változatát minden egyes szón, és akkor menni fog.
Kódot nem tudok írni, mert nem értek javául, de remélhetőleg az elvi leírás is segített.
for (int i=0; i<=szoveg.length()-1; ++i) {
StringUtils.countMatches(szoveg[i], "c");
}
db += StringUtils.countMatches(...);
Pff... countMatches... azért én azt javaslom, hogy gyakorlásképpen (!) írd meg te is (Kérdező) ezt countMatches metódust. Nem nehéz: egy megszámlálás tétel, ami a paraméterben kapott String karakterein szánt végig.
+ Ha ez házi/beadandó, úgysem fogják így elfogadni StringUtils hívásokkal.
Ezt sose értettem. Most ha egyszer kiadják a feladatot, és java, de nem mondják, hogy nem használhatod az apinak ezt a részét, akkor lehet bele rakni és kész.
Akkor adják ki C-ben, vagy mittudomén..
Nagyon sok feladatot meg lehet csinálni API hívással, - max, sort, find (indexOf), shuffle - de azzal nem fejleszti a logikát, nem gyakorol, és amikor össze kell rakni egy olyan keresést/maxkiv.-et, amiben több feltétel van és nincs rá API hívás, csak néz tanácstalanul a képernyőre, mert még egy ciklust sem tud összerakni. (Ezt most általánosságban mondom, nem kifejezetten a Kérdezőre.)
Ezért kell szerintem az alapoknál nem API hívásokkal dolgozni, és a tanárok is ezért várják/várták el, hogy kézzel írjuk meg ezeket az elején. + Hogy lássák azt, hogy értjük a tanult prog. tételeket és tudjuk alkalmazni őket.
Elbeszélünk egymás mellett.
Amit te mondasz, az nyilvánvalóan úgy van.
Amit én nem értek, az az, hogy miért nem kötik ki előre? Nekünk mindig megmond(j|t)ák, mit szabad használni, meg mit nem.
Ja, bocs, akkor félreértettem. :)
Igen, egyébként úgy korrekt, ha megmondják.
köszonöm a válaszokat, végülis igy csináltam meg:
int db=0;
for (int i=0; i<=szoveg.length-1;i++) {
String szo = szoveg[i];
for (int j=0; j<=szo.length()-1;j++) {
if (szo.charAt(j)=='k' || szo.charAt(j)=='K') {
db=db+1;
}
}
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, 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!