Problem z zadankiem StringTokenizer.

0

Witam. mam problem z zadaniem:
Mamy tekst jak poniżej:

String tekst = "Teoretycznie - zauważa Tornielli - wciąż możliwa jest data 2 kwietnia 2011 roku, czyli szósta rocznica śmierci Jana Pawła II. Prawdopodobna jest też jego zdaniem beatyfikacja w maju albo w październiku, gdy przypadnie 33. rocznica wyboru Karola Wojtyły. Włoski publicysta zwrócił uwagę, że wydarzenie to przysporzy znacznych problemów organizacyjnych z powodu liczby wiernych, którzy będą chcieli w nim uczestniczyć w Watykanie.
";

Wyświetl ten tekst na 3 sposoby:
-wyraz po wyrazie, tak aby liczba znaków w jednej linii nie przekroczyła 60;
-wyraz po wyrazie, ale od końca
-wyraz po wyrazie od końca ale litery w wyrazach również od końca

Wykorzystaj klasy StringTokenizer i StringBuffer. Zadanie to wykonaj na dwa sposoby:

-do sprawdzenia ilości tokenów lub ich braku wykorzystaj metodę hasMoreTokens() lub hasMoreElements() klasy StringTokenizer
-do sprawdzenia ilości tokenów lub ich braku wykorzystaj obsługę wyjątku NoSuchElementException - nie możesz wykorzystać metod ani hasMoreTokens() ani hasMoreElements().

Moglby mi ktos pomoc, albo podpowiedziec jak to zrobic?:)

0

Po pierwsze przeczytac na necie kilka przykładów użycia tych klas a potem pomyśleć...

0

Dzień miłosierdzia:
http://www.ideone.com/JIT6v
:)

0

Witam, mam do wykonania podobne zadanie i mam pytanie:
Jak wyświetlić łańcuch znakowy zaczynajac od np drugiego do ostatniego wyrazu i oddzielnie przedostatniego wyrazu ?

0

Najprościej to chyba będzie użyć metod z klasy String: indexOf(' '), lastIndexOf(' '), substring(.., ..).

0

Dzięki. Ale jeśli ten tekst jest dowolny, pobierany w dialogu wejściowym, to jak to konkretnie zrobić? Czego użyć?

0

No przecież i tak wczytujesz go do Stringa, no nie?

0

Czego użyć by pobrać ? bo troche niezrozumiale napisałeś.

Możesz to zrobić tak:

Scanner sc = new Scanner(System.in);
String tekst = null;
tekst = sc.nextLine();

i potem działasz już na String Tokenizer uzywając zmiennej tekst

0

Mam użyć

s=JOptionPane.showInputDialog

by pobrać łańcuch znakowy. I dalej nie wiem jak wprowadzić ciąg znaków od drugiego do ostatniego...
Mam taki kod i jest błąd :

void wyrazy(String s) {
        StringTokenizer tokenizer = new StringTokenizer(s);
        List lista = Collections.list(tokenizer);
        ListIterator<String> iterator = lista.listIterator(lista.size());
        try {
            while (true) {
                String wyraz = s.indexOf(2);
                String wyraz2= s.lastIndexOf();
                System.out.print(wyraz + " ");
            }
        } catch (NoSuchElementException ex) {
        }
        System.out.println();
    }

Proszę o pomoc.

0

(last)indexOf przyjmuje znak i zwraca jego indeks.

Ty chcesz wyświetlić wszystkie wyrazy po kolei pomijając pierwszy wyraz czy co? Napisz to zrozumiale.

0

Tak chcę wyświetlić wszystkie wyrazy po kolei pomijając pierwszy wyraz.... Następne pytanie jak sprawdzić czy dwa wyrazy np: pierwszy i ostatni. są takie same?

0

To są podstawy kolo!!! Bierz się do nauki.

http://www.ideone.com/teI0t

Zrobiłem jednak za ciebie.

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