stringMethode

Status
Nicht offen für weitere Antworten.

blatsch

Neues Mitglied
Hallo,

wir haben in einer Übung ein Script vorgegeben und sollen überlegen was es macht und warum es das macht. Das Problem ist, dass ich das nicht zum Laufen bekomme. Ich weiß schon so ungefähr was passieren wird, aber ich will es ja mal ausprobieren können. Hier kommt das Script (auszugsweise)

Java:
public class StringCount {
  public static int stringMethode(String s) {
    if (s.length() > 0) {
    char ersterBuchstabe = s.charAt(0);
    switch (ersterBuchstabe) {
      case ’_’: return 5;
      case [...]
      default: return 1;
    }
  }
  return 0;
}
}

Also wenn ich das richtig interpretiere, dann geht es darum, dass der sich hier den ersten Buchstaben von einem String auswertet und je nachdem wie der ist (es gibt dann mehrere cases...) soll er da irgendwas ausgeben. Aber wenn ich das script starte, dann sagt Eclipse mir: 'selection does not contain a main type'. Ich denke, dass ich jetzt noch dem String irgendwie einen Wert (also eine Zeichenkette) zuweisen muss, aber ich weiß nicht wie, weil ich noch nicht kapiere:
- was ist der Unterschied zwischen 'public static int' und 'public static void'?
- was macht 'return'? gehört das irgendwie zu dem switch Befehl?

Gruß
blatsch
 
Zuletzt bearbeitet von einem Moderator:

faetzminator

Gesperrter Benutzer
Dir fehlt eine Methode, welche das Programm startet, das brauchst du noch:
Java:
public static void main(String[] args) {
    // hier machst du irgendwas - wie wärs mit stringMethode() aufrufen?
    stringMethode("dein string und so...");
}
- was ist der Unterschied zwischen 'public static int' und 'public static void'?
public gibt die SIchtbarkeit der Methode an. static sagt aus, dass es eine statische Klassenmethode ist und keine Methode einer Instanz. void (nichts) und int (Ganzzahl) sind die Rückgabetypen der Methode.
- was macht 'return'? gehört das irgendwie zu dem switch Befehl?
wenn die Methode keinen Rückgabetyp von "void" hat, muss explizit etwas zurückgegeben werden. Dies macht man mit [c]return [...];[/c]. In einer void Methode kann man natürlich auch an einem beliebigen Punkt die Methode verlassen (ist allerdings nicht schöner Programmierstil) - nämlich mit [c]return;[/c].
 

blatsch

Neues Mitglied
Vielen Dank!
Bis auf static hab ich alles verstanden. Ich hab das Script ausführen können und hab auch verstanden wie das mit dem return funktioniert. Und nach ein bisschen Rumprobiererei hab ich mir auch den return-Wert ausgeben lassen können. Macht schon irgendwie Sinn. Ich wusste nur nicht, dass ich dafür ne extra Methode brauche und wie ich den Befehl formulieren muss.
Gut, damit hat sich das Thema erledigt.

Gruß
Simon
 
Status
Nicht offen für weitere Antworten.

Oben