Cześć. Nie mam pojęcia jak wyciągnąć z podawanego łańcucha pierwsze i ostatnie słowo a później je porównać czy są takie same czy nie. Jakaś podpowiedz?
Np. podzielić wg spacji
String[] words = "piękne zdanie nie zawsze jest piękne".split(" ");
i porównać pierwsze i ostatnie
if (words[0].equals(words[words.length - 1])) {...
No i super :)
nie mogę poradzić sobie jeszcze z czymś takim... Jakiś pomysł?
Napisać program, który pobiera w dialogu wejściowym łańcuch znakowy i:
tworzy tablicę wszystkich słów łańcucha (slowa = zestawy znaków rozdzielone spacjami, przecinkami, kropkami i średnikami) i wyprowadza jej elementy poczynając od ostatniego,
jak mniemam należy użyć metody toCharArray() i tylko odwrócić w pętli kolejność wpisywania? Doprze kombinuje?
Ale to masz podzielić zdanie nie tylko wg spacji, ale i podanych znaków (przecinki, kropki, średniki itp.) Zobacz http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#split(java.lang.String), że tam masz Splits this string around matches of the given regular expression
, czyli możesz dać *** = napis.split("[ ,.;]");
. A wypisanie "od tyłu" to tylko pętla od największego do najmniejszego indeksu w tablicy słówek.
Mam coś takiego
char[] odTylu = wejscie.toCharArray();
char od = ' ';
for(int i = 0 ; i < wejscie.length() ; i++){
od = odTylu[i];
odTylu[i] = odTylu[wejscie.length() - 1 - i];
odTylu[wejscie.length() - 1 - i] = od;
System.out.println(odTylu);
}
Jednak nie działa tak jak chciałem
Jak podam Ala ma kota to ostatecznie ma wyświetlić "kota ma Ala"
futurity92 napisał(a):
Mam coś takiego
A tak naprawdę to wiesz co robisz czy tak sobie losowo piszesz i liczysz, że coś z tego wyjdzie? Przecież wszystko masz już wyżej...
String[] words = wejscie.split(" ");
for (int i = words.length - 1; i >= 0; i--) {
System.out.println(words[i]);
}
Nie wiem jakiego wyjścia oczekuje autor zadania po wpisaniu Ala ma kota
lub Rex, do nogi!
. Warto rozważyć taką modyfikację:
String[] words = wejscie.split(" ");
for (int i = words.length - 1; i >= 0; i--) {
if(!words[i].isEmpty()){
System.out.print(words[i]+" ");
}
}