Methoden Aufrufe

Diskutiere Methoden Aufrufe im Java Basics - Anfänger-Themen Bereich.
Kirby_Sike

Kirby_Sike

Könnte mir jemand erläutern warum ich bei dem nachfolgenden Code diese Error Meldung erhalte?:
Multiple markers at this line
- Syntax error on token "Invalid Character", invalid AssignmentOperator
- Syntax error on token "Invalid Character", invalid AssignmentOperator
Java:
if(n == 0) {
            return m+1;
        }else {
            if(n > 0 && m == 0) {
                return ack(n−1,1);
            }else {
                return ack(n−1, ack(n, m−1));
            }
        }
 
H

httpdigest

Das von dir verwendete Zeichen "−" (Unicode Codepoint 8722) sieht nur so aus wie das Minuszeichen "-" (Unicode/ASCII Codepoint 45), ist es aber nicht.
Lösche das Zeichen an den drei verwendeten Stellen und schreibe nochmal ein "-" Zeichen.
Unicode FTW!
 
Kirby_Sike

Kirby_Sike

Das von dir verwendete Zeichen "−" (Unicode Codepoint 8722) sieht nur so aus wie das Minuszeichen "-" (Unicode/ASCII Codepoint 45), ist es aber nicht.
Lösche das Zeichen an den drei verwendeten Stellen und schreibe nochmal ein "-" Zeichen.
Unicode FTW!
Oh und ich hatte mich schon gewundert xD hab ich wohl das falsche Zeichen verwendet
 
Blender3D

Blender3D

if(n == 0) { return m+1; }else { if(n > 0 && m == 0) { return ack(n−1,1); }else { return ack(n−1, ack(n, m−1)); } }
Die Ackermannfunktion rekursiv. Sie wächst sehr schnell.
Java:
ack(4,2)  // Zahl mit über 19000 Dezimalstellen
ack(4,4)  // ist gleich ack(3, ack(4, 3))  > Anzahl der Atome im Universum
Java:
public static int ack(int n, int m) {
        if (n == 0)
            return m + 1;
        if (m == 0)
            return ack(n - 1, 1);       
        return ack(n - 1, ack(n, m - 1));
    }
 
Kirby_Sike

Kirby_Sike

Die Ackermannfunktion rekursiv. Sie wächst sehr schnell.
Java:
ack(4,2)  // Zahl mit über 19000 Dezimalstellen
ack(4,4)  // ist gleich ack(3, ack(4, 3))  > Anzahl der Atome im Universum
Java:
public static int ack(int n, int m) {
        if (n == 0)
            return m + 1;
        if (m == 0)
            return ack(n - 1, 1);     
        return ack(n - 1, ack(n, m - 1));
    }
Ich vermute mal dass du damit ausdrücken möchtest, dass der Code ohne das Else Effizienter ist? Jedoch müssen wir den leider exakt so implementieren :)

Edit: Ich entschuldige meine Dummheit und revidiere meine Aussage xD Ich habe es mal ähnlich wie in deinem Vorschlag gemacht und das geht ebenfalls :)
 
Thema: 

Methoden Aufrufe

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben