Dies ist eine alte Version des Dokuments!


Stringfummelei

Comic Strings! Eine wichtige Angelegenheit zum Einen, aber auch ein Bereich, in dem man anfangen kann etwas algorithmisch zu denken und zu arbeiten.

Abgesehen davon werden wir hier unsere erste Schritte machen, Informationen aus anderen Quellen und vor allem aus den API-Docs zu finden und anzuwenden.

Insgesamt sollten hierfür 3 Schulstunden + etwas HA-Zeit (bis zu je 30 Minuten pro Stunde) ausreichend sein. In der 4. werden wir das dann besprechen.

Anschließend kommt etwas gaaaanz Wichtiges! …achja, die Quellen:

Referenz von dpunkt

Referenz von Sun

Fragen

Im Prinzip ist das keine Frage, sondern vielmehr ein Arbeitsauftrag. Und dieser steht im Quelltext der folgenden Datei:

/**
 * Arbeiten mit Zeichenketten.
 * 
 * Es sollen hier der Datentyp String und seine Methoden kennengelernt werden
 * Siehe hierzu "http://www.dpunkt.de/java/Referenz/Das_Paket_java.lang/68.html"
 *     und auch "http://java.sun.com/javase/6/docs/api/java/lang/String.html"
 * 
 * @author  E. Alkan 
 * @version 16.01.2009
 */
public class Zeichenketten
{
    // Instanzvariablen: zunächst keine nötig
 
    /**
     * Konstruktor für Objekte der Klasse Zeichenketten
     * ...damit man sich schon einmal an die Struktur gewöhnt...
     */
    public Zeichenketten()
    {
        // Instanzvariable initialisieren - wenn vorhanden
    }
 
     /** 
     * @param  wort1    erstes Wort
     * @param  wort2    zweites Wort
     * @return          die Verkettung aus wort1 und wort2
     */
    public String konkatenieren(String wort1, String wort2)
    {
        // vernünftige Ausgabe erzeugen bitte
        return "???";
    }
 
    /** 
     * @param  wort     ein Wort
     * @return          dasselbe Wort in Kleinbuchstaben
     */
    public String kleinMachen(String wort)
    {
        // vernünftige Ausgabe erzeugen bitte
        return "???";
    }
 
    /** 
     * @param  wort     ein Wort
     * @return          dasselbe Wort in Großbuchstaben
     */
    public String grossMachen(String wort)
    {
        // vernünftige Ausgabe erzeugen bitte
        return "???";
    }
 
    /** 
     * @param  wort     ein Wort
     * @return          dasselbe Wort ohne Leerzeichen
     */
    public String spaceWeg(String wort)
    {
        // Bitte alle Zeilen ausführlich kommentieren
        String ausgabe = "";
        for(int i=0;i<wort.length();i++){
            if (wort.charAt(i) != ' ')
                ausgabe = ausgabe + wort.charAt(i);
        }
        return ausgabe;
    }
    /** 
     * @param  wort     ein Wort
     * @return          dasselbe Wort umgedreht
     */
    public String umdrehen(String wort)
    {
        // so wie bei spaceWeg - nur anders
        return "???";
    }
 
    /** 
     * @param  wort     ein Wort
     * @param  stelle   eine Stelle < wort.length()
     * @return          Buchstabe des Wortes, das an der gewünschten Stelle ist
     */
    public char zeichenAnStelle(String wort, int stelle)
    {
        // vernünftige Ausgabe erzeugen bitte
        return '???';
    }
 
    /** 
     * @param  wort           ein Wort
     * @param  anzahlZeichen  Anzahl Zeichen ab Beginn des Wortes, die zurückgegeben werden sollen
     * @return                Teil-String
     */
    public String links(String wort, int anzahlZeichen)
    {
        // vernünftige Ausgabe erzeugen bitte
        return '???';
    }
 
    /** 
     * @param  wort           ein Wort
     * @param  anzahlZeichen  Anzahl Zeichen bis Ende des Wortes, die zurückgegeben werden sollen
     * @return                Teil-String
     */
    public String rechts(String wort, int anzahlZeichen)
    {
        // vernünftige Ausgabe erzeugen bitte
        return '???';
    }
 
    /** 
     * @param  wort     ein Wort
     * @param  von      eine Stelle < wort.length()
     * @param  bis      Stelle, bis zu der ab "von" des Wortes zurückgegeben werden sollen
     * @return          Teil-String
     */
    public String teil(String wort, int von, int bis)
    {
        // vernünftige Ausgabe erzeugen bitte
        return '???';
    }
}

Aufgaben:

  1. Öffne BlueJ.
  2. Schließe evtl. bereits geöffnete Projekte.
  3. Erstelle ein neues Projekt Zeichenketten.
  4. Erstelle darin eine Klasse Zeichenkette.
  5. Öffne die soeben heruntergeladene Datei.
  6. Kopiere den Inhalt dieser Datei an Stelle der automatisch generierten Codezeilen in deiner soeben erstellten Klasse und speichere ab.
  7. Fang an die Arbeitsaufträge abzuarbeiten (Methoden implementieren und kommentieren). Los! :-)

Glossar/Tipps:

  • konkatenieren: Funktioniert wie in der println()-Methode
  • kleinMachen: guckstu in API
  • grossMachen: …nicht in Klo!
  • zeichenAnStelle: API! Wo sonst?
    Bitte mit Fehlerabfrage: Stelle darf nicht außerhalb der Länge des Wortes sein.
  • links: Das ist im Prinzip eine Teilzeichenkette…
  • rechts: …so wie die Teilmenge in der Mathematik…
  • teil: …wie heißt das wohl auf Englisch?
  • umdrehen: neue Zeichenkette Buchstabe für Buchstabe aus der alten basteln.
  • spaceWeg: neue Zeichenkette Buchstabe für Buchstabe (aber nur die gewünschten) aus der alten basteln.
start/info/11if/08_strings.1232061289.txt.gz · Zuletzt geändert: 23.10.2013 10:12 (Externe Bearbeitung)
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0