Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Java: java: ongelmia .length kanssa

tkok [19.11.2008 15:16:27]

#

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

TsaTsaTsaa [19.11.2008 15:30:23]

#

Koitas laittaa tyhjät sulut vielä perään kun kerta funktiokutsusta on kyse. Eli .length()

tkok [19.11.2008 15:39:56]

#

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 :)

Jackal von ÖRF [19.11.2008 18:34:59]

#

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/String.html mistä selviää, että String:n pituuden saa selville metodilla 'public int length()'.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta