Hei
funkkari yhtaPitkat ei toimi, errorina sanoo, että cannot find symbol, ja virhe johtuu tuosta merkkijonon pituutta tutkivasta .length-jutusta.
Aikaisemmissa koodeissa .length on toiminut moitteetta mm. int[] taulukon koon tutkinnassa, mutta nyt String-tyypeillä ei toimi?
Koodi listattuna:(yksinkertainen koodi niin ei ole hirveesti kommattu)
import java.util.*; public class YhtaPitkat { /** * Testaa metodin yhtaPitkat() toimintaa. */ public static void main(String[] args) { String[] testi = {"aa", "bb", "ccc", "ddd", "yyy", "eeee", "ffff" }; String[] testitulos = yhtaPitkat(testi, "xxxx"); for (int i = 0; i < testitulos.length; i++) { System.out.println(testitulos[i]); } } /** * Palauttaa uuden taulukon, jossa on * viittaukset kaikkiin vertailtavan kanssa * yhtä pitkiin merkkijonot-taulukon alkioihin. * * Alkuehto: merkkijonot != null & vertailtava != null */ public static String[] yhtaPitkat (String[] merkkijonot, String vertailtava) { String[] ratkaisu; int laskuri = 0; for (int i = 0; i < merkkijonot.length; i++) { if (merkkijonot[i].length == vertailtava.length) { merkkijonot[i] = ratkaisu[laskuri]; laskuri++; } } return ratkaisu; } }
EDIT: Kokeilin myös .count mutta sillä saan errorin: count has private access in java.lang.String
Koitas laittaa tyhjät sulut vielä perään kun kerta funktiokutsusta on kyse. Eli .length()
TsaTsaTsaa kirjoitti:
Koitas laittaa tyhjät sulut vielä perään kun kerta funktiokutsusta on kyse. Eli .length()
Joo kiitos, tällä ja parilla muulla pikkukikalla saatiin toimimaan :)
lainaus:
merkkijonot[i].length
'merkkijonot' on taulukko String-olioita, joten sillä on julkinen kenttä 'public final int length' kuten kaikilla taulukoilla.
'merkkijonot[i]' on String-olio (merkkijonot-taulukon indeksissä i). String-luokan rajapinta on sivulla http://java.sun.com/javase/6/docs/api/java/lang/
Aihe on jo aika vanha, joten et voi enää vastata siihen.