Problem z zadankiem StringTokenizer.

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?:)

LN
  • Rejestracja:około 16 lat
  • Ostatnio:około rok
  • Postów:1398
0

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

Wibowit
  • Rejestracja:około 20 lat
  • Ostatnio:24 minuty
0

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


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
0
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 ?

Wibowit
  • Rejestracja:około 20 lat
  • Ostatnio:24 minuty
0

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


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
edytowany 1x, ostatnio: Wibowit
0

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

Wibowit
  • Rejestracja:około 20 lat
  • Ostatnio:24 minuty
0

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


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
AT
  • Rejestracja:ponad 14 lat
  • Ostatnio:prawie 10 lat
0

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

Możesz to zrobić tak:

Kopiuj
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ć

Kopiuj
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 :

Kopiuj
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.

Wibowit
  • Rejestracja:około 20 lat
  • Ostatnio:24 minuty
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.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
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?

Wibowit
  • Rejestracja:około 20 lat
  • Ostatnio:24 minuty
0

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

http://www.ideone.com/teI0t

Zrobiłem jednak za ciebie.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.