der schwarze Rabe: switch nur mit int-Variablen?

Also, mein neuestes Projekt in Sachen Programmierung ist ein Programm, mit dem man kostenlos und ohne Werbung über's Internet Schach spielen kann.
Ich muss da nun ziemlich viele Variablen auf unterschiedliche Werte überprüfen, etc...
Da kommt mir switch natürlich gerade recht. Ich habe nun bis jetzt zwei Klassen für dieses Programm geschrieben. Die erste war kein Problem, die zweite hatte am Anfang, nach dem Coden(die ist so ineinander verwoben, dass ein testen der Klasse vor der Fertigstellung SEHR schwierig ist)38(!) Fehler.
Die meisten konnnte ich ziemlich schnell beseitigen,
aber acht Fehler blieben:
Es war immer das Selbe! "...found: java.lang.String
required:int". Geht also switch tatsächlich nur mit int-Variablen?
Gibt es eine Alternative für Strings(oder muss ich die mir selber schreiben? *ächz*)? Oder muss ich das wieder mit if-Orgien regeln?
Außerdem: Was haltet ihr von der Idee? Selbst wenn es schon viele gute Netzwerkschachspiele ohne Werbung geben sollte, ist das für mich erstens ein Ansporn, das besser zu machen und zweitens ist das ganze ja auch eine gute Übung.

Bis demächst,
euer Rabe

  1. Hi,

    Es war immer das Selbe! "...found: java.lang.String
    required:int". Geht also switch tatsächlich nur mit int-Variablen?

    ja.

    Gibt es eine Alternative für Strings(oder muss ich die mir selber schreiben? *ächz*)? Oder muss ich das wieder mit if-Orgien regeln?

    Arbeite mit Hashwerten.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi,

      Es war immer das Selbe! "...found: java.lang.String
      required:int". Geht also switch tatsächlich nur mit int-Variablen?

      ja.

      Ergänzung:  byte, short und char auch - also alle Primitiven, die erweiternd (und implizit) nach int konvertiert werden können.

      Viele Grüße,
      Martin Jung

    2. Arbeite mit Hashwerten.

      Wie geht das?
      Ich kenne zwar Hash-Tabellen(flüchtig; was genau bringen die?),
      weiß aber nicht, was "Hashwerte" genau sind, und wie ich die zur Lösung meines Problems verwenden könnte.

      1. Arbeite mit Hashwerten.
        Wie geht das?
        Ich kenne zwar Hash-Tabellen(flüchtig; was genau bringen die?),

        http://java.sun.com/j2se/1.4.1/docs/api/java/util/Hashtable.html

        weiß aber nicht, was "Hashwerte" genau sind, und wie ich die zur Lösung meines Problems verwenden könnte.

        http://java.sun.com/j2se/1.4.1/docs/api/java/lang/String.html

        hashCode
        public int hashCode()
        Returns a hash code for this string. The hash code for a String object is computed as
         s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]

        using int arithmetic, where s[i] is the ith character of the string, n is the length of the string, and ^ indicates exponentiation. (The hash value of the empty string is zero.)

        Overrides:
        hashCode in class Object
        Returns:
        a hash code value for this object.
        See Also:
        Object.equals(java.lang.Object), Hashtable

        Unterschiedliche Strings ergeben unterschiedliche HashCodes. Die können zur Fallunterscheidung herangezogen werden.

        viele Grüße

        Axel