Już próbowałem 15 kombinacji jak czytać stringa w javie znak po znaku mam coś takiego.
Jak przeczytać dowolny znak ze Stringa?
String kawa = "lawa";
if (lawa[0]=="l") coś tam
Jak czytać Stringa w Javie
-
- Użytkownik
- Posty: 374
- Rejestracja: 21 cze 2007, o 11:28
- Płeć: Mężczyzna
- Lokalizacja: Łostowice
- Pomógł: 146 razy
Jak czytać Stringa w Javie
W java do kolejnych znaków odwołujemy się za pomocą metody substring kalsy String (java.lang.String)
String substring(int beginIndex, int endIndex)
Returns a new string that is a substring of this string.
beginIndex - numerujemy od zero
endIndex - numer znaku ograniczającego
przykładowo
substring(0, 1) oznacza pierwszy znak
substring(1, 2) oznacza drugi znak
W związku z tym w Twoim przykładzie
if (lawa.substring(0, 1).equals("l") ) coś tam
Metoda equals("l") (czy równe) porównuje ciąg znaków z ciągiem podanym jako parametr i jeżeli są równe zwraca true.
Zapisu lawa[0] == "l" w java raczej się nie zaleca, gdyż nazwy zmiennych obiektów (tu typu String) traktowane są jako wskaźniki, więc wynik zazwyczaj będzie negatywny, a Tobie chodzi o porównanie jedynie wartości.
String substring(int beginIndex, int endIndex)
Returns a new string that is a substring of this string.
beginIndex - numerujemy od zero
endIndex - numer znaku ograniczającego
przykładowo
substring(0, 1) oznacza pierwszy znak
substring(1, 2) oznacza drugi znak
W związku z tym w Twoim przykładzie
if (lawa.substring(0, 1).equals("l") ) coś tam
Metoda equals("l") (czy równe) porównuje ciąg znaków z ciągiem podanym jako parametr i jeżeli są równe zwraca true.
Zapisu lawa[0] == "l" w java raczej się nie zaleca, gdyż nazwy zmiennych obiektów (tu typu String) traktowane są jako wskaźniki, więc wynik zazwyczaj będzie negatywny, a Tobie chodzi o porównanie jedynie wartości.
-
- Użytkownik
- Posty: 32
- Rejestracja: 26 lis 2009, o 01:15
- Płeć: Mężczyzna
- Lokalizacja: Polska
- Pomógł: 9 razy
Jak czytać Stringa w Javie
to chyba nie do końca tak, jak pisze smiechowiec.
Metody substring nie stosuje się do czytania pojedyńczych znaków, tylko jak sama nazwa wskazuje do czytania "podsłów".
metoda, której szukasz to charAt (tak mi się wydaję że tego szukasz )
public char charAt(int index)
odnosząc się do Twojego "przykładu" będzie to wyglądać mniejwięcej tak:
String kawa = "lawa";
if (kawa.charAt(0) =='l') coś tam
(i oczywiście w warunku if nie lawa, tylko kawa, bo tak się nazywa nasz obiekt - ale to pewnie przez niedopatrzenie tak napisałeś)
i jeszcze jedno, co może stwarzać problemy. Metoda charAt() zwraca typ char, więc w warunku if musisz też porównywać z typem char. Jeżeli napiszesz "l" to zostanie to potraktowane jako String i porównanie kawa.charAt(0) z "l" nie będzie możliwe. Dlatego musisz zamiast cudzysłowów użyć apostrofów - tak się zapisauje typ char w Javie i wtedy możesz normalnie ze sobą te dwie rzeczy porównywać.
więcej informacji odnośnie tej metody znajdziesz w dokumentacji:
Metody substring nie stosuje się do czytania pojedyńczych znaków, tylko jak sama nazwa wskazuje do czytania "podsłów".
metoda, której szukasz to charAt (tak mi się wydaję że tego szukasz )
public char charAt(int index)
odnosząc się do Twojego "przykładu" będzie to wyglądać mniejwięcej tak:
String kawa = "lawa";
if (kawa.charAt(0) =='l') coś tam
(i oczywiście w warunku if nie lawa, tylko kawa, bo tak się nazywa nasz obiekt - ale to pewnie przez niedopatrzenie tak napisałeś)
i jeszcze jedno, co może stwarzać problemy. Metoda charAt() zwraca typ char, więc w warunku if musisz też porównywać z typem char. Jeżeli napiszesz "l" to zostanie to potraktowane jako String i porównanie kawa.charAt(0) z "l" nie będzie możliwe. Dlatego musisz zamiast cudzysłowów użyć apostrofów - tak się zapisauje typ char w Javie i wtedy możesz normalnie ze sobą te dwie rzeczy porównywać.
więcej informacji odnośnie tej metody znajdziesz w dokumentacji:
- nuclear
- Użytkownik
- Posty: 1501
- Rejestracja: 22 paź 2006, o 12:01
- Płeć: Mężczyzna
- Lokalizacja: Kraków
- Podziękował: 16 razy
- Pomógł: 264 razy
Jak czytać Stringa w Javie
ja osobiście użyłbym metody
która zamienia string na tablice składającą się z charów.
i następnie ten warunek zapisałbym
Kod: Zaznacz cały
toCharArray()
która zamienia string na tablice składającą się z charów.
i następnie ten warunek zapisałbym
Kod: Zaznacz cały
char[] tablica;
tablica=kawa.toCharArray();
if(tablica[0]='l'){