Java - bitte kurz kontrollieren

  • Hallo zusammen,


    wir haben in Informatik den Code (wenn man das so nenn?!) für eine Java-Prozedur bekommen und sollten nun jeweils als Kommentare (mit // gekennzeichnet) über die einzelnen Befehle schreiben, was sie bewirken. Es wäre super, wenn da mal jemand drüber schauen könnte und mir sagen könnte, ob ich es richtig gemacht und verstanden habe und gegebenenfalls Fehler verbessert oder fehlende Kommentare ergänzt.


    Unten angehangen, der Code in schwarz, Kommentare in Rot.
    _______________________________________


    //Deklaration einer Klasse (KamaSutra)
    public class KamaSutra {


    //Definition der Funktion in der Hauptklasse
    public static void main(String[] args) {
    //Die Klasse String repräsentiert Zeichenketten, die sich nicht ändern. In dem Fall top = "String”
    String top = "ABCEFGHKLMNPR";
    //Die Klasse String repräsentiert Zeichenketten, die sich nicht ändern. In dem Fall bot = "String”
    String bot = "QDZUJIXYWSOVT";
    //Die Klasse String repräsentiert Zeichenketten, die sich nicht ändern. In dem Fall s = "String”
    String s = args[0].toUpperCase();


    //Schleifenbeginn mit Variable i=0; Schleife durchführen bis Argument der Variable s zutrifft; i++ = Zähler/ Variablenzahl (i) +1
    for (int i = 0; i < s.length(); i++) {
    char c = s.charAt(i);
    //Abfrage if der Var top mit Vergleich auf Größer oder gleich 0; Wenn zutrifft, Ausgabe von top
    if (top.indexOf(c) >= 0) System.out.print(bot.charAt(top.indexOf(c)));
    //erweiterte Abfrage von if der Var bot mit Vergleich auf Größer oder gleich 0; Wenn zutrifft, Ausgabe von bot
    else if (bot.indexOf(c) >= 0) System.out.print(top.charAt(bot.indexOf(c)));
    else System.out.print(c);
    }
    System.out.println();
    }


    }


    ___________________________________


    Wäre wirklich super lieb,wenn sich jemand die Zeit nehmen würde.


    Herzliche Grüße
    Krümel

  • Ich würde noch ein bisschen mehr schreiben:



    Ich hoffe du weißt, was die Klasse macht.
    Sie wandelt dir ein eingegebenes Wort (z.B. Hallo-->HALLO) um, in dem sie jeden Buchstaben austauscht. Also wird das H durch ein X ersetzt, das A durch ein Q, das L durch ein W und das O durch ein N. Das Programm gibt dann das Wort XQWWN aus.


  • Ich würd die Anweisungen noch etwas mehr auseinander nehmen. Und wie Interstar meinte, auch eine Funktionsbeschreibung der ganzen Klasse (bzw. hier sogar eine Applikation) erstellen.


    Main ist eine ist eine Klassenmethoden, das zeigt das Steuerwort static an. Damit ist die Methode an keine Instanz eine Klasse gebunden. Die Methode besitzt keine Rückgabewerte (void, deswegen eigentlich auch keine Funktion) und kann ein beliebig großes Array von Zeichenketten (Variable args) als Funktionsparameter bzw. Instanzvariable entgegennehmen.
    Die gesammte Definition "public static void main" in der Klasse zeigt an, dass es sich um eine Applikation handelt, denn die Methode main wird automatisch aufgerufen (Eine Ausnahme die extra für diesen Zweck geschaffen wurde. Applets müssen beispielsweise anders gestartet werden)


    Für den Einstieg empfinde ich dieses Online-Buch recht gut


    http://www.addison-wesley.de/Service/krueger/httoc.htm

  • Hallo ihr beiden,


    erst mal vielen lieben Dank, dass ihr euch die Mühe gemacht habt.


    Stehe momentan noch was Java betrifft auf dem 0 Punkt. Das heisst, ich kann wirklich rein gar nichts. Da der Kurs, in den ich jetzt reingekommen bin Java allerdings schon 1/2 Jahr lang behandelt, habe ich da natürlich sehr große Defizite.


    Aber ich werde mich mal Schritt für Schritt durch den Link arbeiten, den Cepheiden gepostet hat.


    Ich werde mir die Prozedur nun nochmal genauer anschauen um zu verstehen, was daran falsch war. Hoffe, dass ich bei Fragen erneut auf euch zurückkommen darf.


    Fröhliche Grüße
    Krümelchen