Java metody problem z String tablicowy


(Robertax) #1

Napisać następujące metody otrzymujące w parametrze tablicę napisów:

boolean samePalindromy(String[] napisy) — sprawdza, czy wszystkie napisy w tablicy są palindromami;

boolean jestPalindromem(String[] napisy) — sprawdza, czy sama tablica jest palindromem (np. ["pies", "kot", "jabłko", "kot", "pies"]);

boolean konkatenacjaJestPalindromem(String[] napisy) — sprawdza, czy napis powstały z połączenia wszystkich napisów z tablicy jest palindromem, np ( ["kobyła", "ma", "mały", "bok"]).

http://www.algorytm.org/images/schematy ... zdanie.gif

chciałem ten alg. ale nie mam bladego pojęcia jak napis wstawić w tablicę, chodzi mi czy rozkładać po lit i ust na tą samą wielkość i spr czy jak się za to zabrać

mógłby ktoś pomoc


(Semtex) #2

Witaj, popraw proszę tytuł tematu tak aby wstępnie informował o problemie, użyj przycisku EDYTUJ , który znajdziesz w prawym górnym rogu Swojego posta. Dobrze zatytułowany temat daje szansę na szybszą pomoc. Dziękuję za uwagę.

Tip: Unikaj słów: "problem", "help", "pomocy" i.t.p. Tego typu słowa nie spowodują szybszej reakcji a mogą odnieść odwrotny skutek od oczekiwanego, tytuł tematu ma być skróconym opisem Twojego posta- powodzenia.


(Drobok) #3

A w czym masz problem ?


(Robertax) #4

static boolean samePalindromy(String[] napisy) {

String napisy = JOptionPane.showInputDialog("Podaj napis ");

int długość_napisu = 1;

int długość_wyrazu = napisy.length() ;

if (długość_napisu < długość_wyrazu ){

if(długość_wyrazu = długość_napisu[j]){

długość_napisu = długość_napisu +1;

długość_wyrazu = długość_wyrazu -1;

}else{

JOptionPane.showMessageDialog(null, napisy + " nie jest palindromem");

}

}else{

JOptionPane.showMessageDialog(null, napisy + " jest palindromem");

}

}

Jest źle, a nie mam bladego pojęcia jak poprawić :frowning:


(kostek135) #5

Twoim problemem jest to, że pobierasz dane w metodzie realizującej stricte logikę biznesową. Przepływ powinien wyglądać tak:

main:

    i := 0, array[] := {}

    wczytaj liczba_wyrazów

    dopóki i < liczba_wyrazow

        wczytaj wczytany_wyraz

        array[i] := wczytany_wyraz

        zwieksz i


    same_palindromy(array)


same_palindromy (array[]):

    dla kazdego wyrazu z array

        sprawdzenie czy jest to palindrom

        jeśli któryś wyraz zwrócił nie to i ta funkcja moze stwierdzić, że nie


    jeśli żaden nie stwierdził, że nie to logicznym jest ze wszystkie są

Oczywiście tablica do tego celu jest słaba, bo będziesz mógł podać nie więcej napisów, niż długość tablicy - inaczej otrzymasz wyjątek informujący o przekroczeniu zakresu. Innymi słowy liczba_wyrazów nie może być większa od tego co wpiszesz array[-->tutaj<--]