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 2 Schulstunden + etwas HA-Zeit (bis zu je 30 Minuten pro Stunde) ausreichend sein. In der 3. werden wir das dann besprechen.

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

Referenz von dpunkt

Referenz von Oracle

Fragen

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

/**
 * Arbeiten mit Zeichenketten.
 * 
 * Es soll 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 "https://docs.oracle.com/javase/9/docs/api/java/lang/String.html#method_summary"
 * 
 * @author  E. Alkan 
 * @version 16.05.2018
 */
public class Zeichenketten
{
    // Instanzvariablen: zunächst keine nötig
 
 
    /**
     * Konstruktor für Objekte der Klasse Zeichenketten
     */
    public Zeichenketten()
    {
        // Instanzvariable initialisieren - wenn vorhanden
    }
 
     /** 
     * @param  text1    erster Text
     * @param  text2    zweiter Text
     * @return          die Verkettung aus text1 und text2
     */
    public String konkatenieren(String text1, String text2)
    {
        // vernünftige Ausgabe erzeugen bitte
        return "???";
    }
 
    /** 
     * @param  text     ein Text
     * @return          derselbe Text in Kleinbuchstaben
     */
    public String kleinMachen(String text)
    {
        // vernünftige Ausgabe erzeugen bitte
        return "???";
    }
 
    /** 
     * @param  text     ein Text
     * @return          derselbe Text in Großbuchstaben
     */
    public String grossMachen(String text)
    {
        // vernünftige Ausgabe erzeugen bitte
        return "???";
    }
 
    /** 
     * @param  text     ein Text
     * @return          derselbe Text ohne Leerzeichen
     */
    public String spaceWeg(String text)
    {
        // Bitte alle Zeilen ausführlich kommentieren
        String ausgabe = "";
        for(int i=0;i<text.length();i++){
            if (text.charAt(i) != ' ')
                ausgabe = ausgabe + text.charAt(i);
        }
        return ausgabe;
    }
    /** 
     * @param  text     ein Text
     * @return          derselbe Text umgedreht
     */
    public String umdrehen(String text)
    {
        // so wie bei spaceWeg - nur anders
        return "???";
    }
 
    /** 
     * @param  text     ein Text
     * @param  stelle   eine Stelle < text.length()
     * @return          Buchstabe des Textes, der an der gewünschten Stelle ist
     */
    public char zeichenAnStelle(String text, int stelle)
    {
        // vernünftige Ausgabe erzeugen bitte
        return '?';
    }
 
    /** 
     * @param  text           ein Text
     * @param  anzahlZeichen  Anzahl Zeichen ab Beginn des Textes, die zurückgegeben werden sollen
     * @return                Teil-String
     */
    public String links(String text, int anzahlZeichen)
    {
        // vernünftige Ausgabe erzeugen bitte
        return "???";
    }
 
    /** 
     * @param  text           ein Text
     * @param  anzahlZeichen  Anzahl Zeichen bis Ende des Textes, die zurückgegeben werden sollen
     * @return                Teil-String
     */
    public String rechts(String text, int anzahlZeichen)
    {
        // vernünftige Ausgabe erzeugen bitte
        return "???";
    }
 
    /** 
     * @param  text     ein Text
     * @param  von      eine Stelle < text.length()
     * @param  bis      Stelle, bis zu der ab "von" des Textes zurückgegeben werden soll
     * @return          Teil-String
     */
    public String teil(String text, 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. Kopiere den Inhalt des oben angegebenen Codes an Stelle der automatisch generierten Codezeilen in deiner soeben erstellten Klasse und speichere ab.
  6. 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. (siehe spaceWeg())
  • spaceWeg: neue Zeichenkette Buchstabe für Buchstabe (aber nur die gewünschten) aus der alten basteln. (s.o.)
start/info/11if/08_strings.txt · Zuletzt geändert: 16.05.2018 09:48 von epunkta
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