Methodenaufruf
-
Hallo,
ich habe vergessen, wie man ne Methode aufruft.public class Prefix{ static char[] a; static int i; static int eval(){ int x=0; while (a[i]==' ') i++; if (a[i]=='+'){ i++; return eval()+eval(); } if (a[i]=='*'){ i++; return eval()*eval(); } while ((a[i]>='0')&&(a[i]<='9')) x=10*x+(a[i++]-'0'); return x; } public static void main(String[] args){ //Aufruf der Methode eval()??????? } }
-
eval();
BTW: Ich hoffe du machst mit "a" vor eval() noch etwas.
MfG SideWinder
-
, du kannst so einen Code fabrizieren und hast vergessen wie man eine funktion aufruft?
In deinem und im allgemeinen Fall, so:
eval();
Und wenn du deine static Methode aus einer anderen Klasse aufrufen willst, dann so:
Prefix.eval();
---Edit
naja besser Spät(er) als nie
-
mit Aufruf: eval() ist klar.
@SideWinder: richtig erkannt, ich mache noch was mit a vor eval().
Ich wollte a mit Daten füttern und dann eval() darauf anwenden.
-
Als Beispiel:
char[] a = {'*', '3', '4'}; //for-Schleife notwendig??? System.out.println(???); //a.eval() oder so ähnlich
Ausgabe: 12
-
Nein kein a.eval(), du verwendest in eval() automatisch a, da eval() einen int zurückliefert:
System.out.println(eval());
Nein keine for-Schleife notwendig - funktioniert aber nur bei der Initialisation.
MfG SideWinder
-
@KaraHead: Beispiel ist aus einem Lehrbuch. Ich muss noch viel üben.
-
eval hat doch einen Rückgabewert (int)
int xyz = eval(); System.out.println ("" + xyz);
-
oder:
string xyz = (string)eval(); System.out.println (xyz);