Pierwsze i ostatnie słowo w łańcuchu.

0

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?

2

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])) {...
0

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?

1

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.

0

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"

2
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]);
}
2

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]+" ");
    }
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1