Hallo,
habe das untere Programm geschrieben, bei diesem Programm wird die charsequence implementiert. Es werden Zeichen gespeichert und diese werden dann wieder mittels definierter funktionen ausgegeben. Jetzt lautet meine Frage: Wie kann ich das Programm so umschreiben, dass die Zeichen mittels collections, wie z.B List<String> gespeichert und ausgegeben wird?
habe das untere Programm geschrieben, bei diesem Programm wird die charsequence implementiert. Es werden Zeichen gespeichert und diese werden dann wieder mittels definierter funktionen ausgegeben. Jetzt lautet meine Frage: Wie kann ich das Programm so umschreiben, dass die Zeichen mittels collections, wie z.B List<String> gespeichert und ausgegeben wird?
Code:
import java.util.*;
// Klasse CharSeq implementiert das Interface CharSequence
public class CharSeq implements CharSequence {
// private-Attribut als String
private String seq;
// Konstruktor
public CharSeq(String seq)
{
this.seq = seq;
}
/**
* Liefert das Zeichen aus der Kette zurück, das an der
* Position index steht
*/
// Methode charAt()
public char charAt(int index)
{
// auf Gueltigkeit pruefen
if (index > -1 && index < seq.length())
{
return seq.charAt(index);
}
else {
System.out.println("Index ungueltig!");
}
return 0;
}
/**
* Liefert die Anzahl der Zeichen zurück,
* die die Zeichenkette enthaelt
*/
// Methode length()
public int length()
{
return seq.length();
}
/**
* Liefert den Teil der Zeichenkette zurueck, der von der
* Position start bis zur Position end liegt
*/
// Kontsruktor/Methode subSequence()
public CharSequence subSequence(int start, int end)
{
if (start > end)
{
System.out.println
("Endindex muss gleich oder groesser sein als Startindex!");
}
else if (start < 0) {
System.out.println("Ungueltiger Startindex!");
}
else if (end > seq.length()) {
System.out.println("Ungueltiger Endindex!");
}
return seq.subSequence(start, end);
}
/**
* Liefert die Zeichenfolge als String zurück
*/
// Methode toString()
public String toString()
{
return new String(seq);
}
// Hauptprogramm
public static void main(String[] args) {
CharSeq chseq = new CharSeq("kenux");
for(int i = 0; i < chseq.length(); i++)
{
System.out.println("charAt " + i + ": " + chseq.charAt(i));
}
// Laenge der Zeichen ausgeben
System.out.println("Laenge der Zeichen: " + chseq.length());
// einen Teil der Zeichenkette ausgeben
System.out.println("Teil der Zeichenkette: " + chseq.subSequence(3, 5));
// als String ausgeben
System.out.println("Als String: " + chseq.toString());
/*
// Collection
List<String> liste = new ArrayList<String>();
liste.add("hallo");
for (String str : liste)
{
System.out.println(str);
}
*/
}
}