Robert: Fehlersuche

Hallo!
In meiner Funktion sind irgendwie Fehler, aber ich komme irgendwie nicht drauf, was ich ändern muss!
Vielleicht kann mir jemand helfen?
ich danke euch.....

Function Count Vocals(str)
{
   var count;
   for (val i=0  i<str.len, --i)
   {
      if (str.charAt{i} = 'a' && 'e' && 'i' && 'o' && 'u')
         count++;
      else if
         count--;
   }
   return i,
}

var s = "neun studenten mit nem kontrabass";
print.document(s + " -> " + Count Vocals(str) + "Vokale);

  1. Hallo Robert,

    In meiner Funktion sind irgendwie Fehler

    Woran machst du das fest?
    Was für Debug-Versuche hast du bereits unternommen und was hast du damit
    herausgefunden?

    Function Count Vocals(str)

    Funktionsnamen dürfen keine Leerzeichen enthalten.

    if (str.charAt{i} = 'a' && 'e' && 'i' && 'o' && 'u')

    http://selfhtml.teamone.de/javascript/sprache/operatoren.htm
    mag sich sehr interessieren.

    else if

    Falls was?

    Grüße
      David

    --
    >>Nobody will ever need more than 640k RAM!<<
    1981 Bill Gates
  2. Hi,

    In meiner Funktion sind irgendwie Fehler, aber ich komme irgendwie nicht drauf, was ich ändern muss!
    Vielleicht kann mir jemand helfen?
    ich danke euch.....

    Function Count Vocals(str)

    function ist was anderes als Function
    Leerzeichen im Funktionsnamen sind nicht erlaubt.

    {
       var count;
       for (val i=0  i<str.len, --i)

    Soll val die chinesische Variante von var sein?
    Semikola zwischen den 3 Ausdrücken der for-Schleife wären nicht schlecht.
    len muß length heißen

    {
          if (str.charAt{i} = 'a' && 'e' && 'i' && 'o' && 'u')

    1. = ist der Zuweisungsoperator, == der Vergleichsoperator
    2. bist Du sicher, daß Du eine UND-Verknüpfung haben willst?
    3. das logische Verknüpfen von 'e' und  'i' ist nicht ganz das, was Du haben willst, Du willst doch verknüpfen, ob das Zeichen ein e ist oder ob das Zeichen ein i ist oder ...

    count++;
          else if

    ein if ohne Bedingung?

    count--;

    Warum wieder runterzählen, aus dem Funktionsnamen schließe ich, daß Du die Vokale zählen willst - aber was soll von deren Zahl abgezogen werden?

    }
       return i,

    Warum gibst Du den Schleifenzähler zurück anstelle des Vokal-Zählers?
    Und was soll das Komma hier?

    }

    var s = "neun studenten mit nem kontrabass";
    print.document(s + " -> " + Count Vocals(str) + "Vokale);

    Meinst Du document.write?

    Du solltest Dich nochmal mit dem Javascript-Kapitel von SelfHTML beschäftigen. Und zwar intensiv.

    (ach ja, kann sein, daß ich noch Fehler übersehen habe...)
    cu,
    Andreas

    --
    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
    http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
    1. ...Dich nochmal mit dem Javascript-Kapitel von SelfHTML beschäftigen. Und zwar intensiv.

      cu,
      Andreas

      Danke Andreas,

      Die ganzen Fehler sind auch nicht wirklich auf meinen Mist gewachsen.... wollte sie korrigieren, aber irgendwie war das so ein Durcheinander, dass ich vor lauter Fehlern das Richtige nicht mehr gesehen habe!
      Vielen Dank trotzdem!!!