Frage von sesika10, 20

Richtigkeit des Java-Codes-Euklidischer Algorithmus?

Guten Abend, ich würd gerne lediglich überprüfen lassen wollen, ob mein soeben geschriebener Java-Quellcode zum Euklidischen Algrithmus korrekt ist. Es ist ein simples Programm. Ich habe heute die ganze Zeit versucht die JDK von Oracle zu installieren. So weit so gut nur fiel mir auf, dass der Compiler, sprich javac.exe, nicht mit installiert wurde. Vielleicht weiß mir jemand weiterzuhelfen? Zum Quellcode:

import java.util.Scanner; //Bibliothek

public class GGT { public static void main (String[] args){ //Hauptprogramm

    Scanner sc = new Scanner(System.in);
    int = r;
    int a;
    a = sc.nextInt();
    System.out.println("a = " + input);
    int b;
    b = sc.nextInt();
    System.out.println("a = " + input);

    while (r != 0)
    {
        if (a<b)
        {
            b-a=r;  
        }
        else 
        {
            a-b=r;
        }
    }

    System.out.println("GGT von " + a + "und " + b + "ist = " + r);
}

}

Also die Bedingung in der if-Anweisung lautet a<b.

Vielen Dank im voraus

Antwort
von Suboptimierer, 15

Ich bin kein Java-Experte, aber "int = r" und Anweisungen wie "b-a=r" dürften falsch sein.

Hinter int muss die Variable stehen, die du als Integer definieren willst. Das = ist falsch.
b-a=r würde bedeuten, dass r dem b-a zugewiesen werden soll. Das geht aber nicht, da b-a kein gültiges Speicherregister ist. Links bei einer Zuweisung muss eine Variable / Objekt stehen.

Desweiteren weiß ich nicht, ob 

"a = " + input

funktioniert, denn was bitteschön soll input sein?

Kommentar von sesika10 ,

Schau ich habe es korrigiert,die Fehler sind mir erst im nachhinein aufgefallen. Wichtig ist mir neben den Syntaxfehlern ob der Eukldische Algorithmus korrekt ausgeführt werden kann, kann's ja leider nicht überprüfen:

import java.util.Scanner;

class GGT {public static void main (String[] args){

Scanner sc = new Scanner(System.in);

int r;

int a;

a = sc.nextInt();System.out.println("a = " + a);

int b;

b = sc.nextInt();System.out.println("b = " + b);

while (r != 0){

if (a>b) {

a-b=a; }

else if (b>a) {

b-a=b; }

else

a=b; r=a; }

System.out.println("GGT von " + a + "und " + b + "ist = " + r);

}

}


Kommentar von Reyha24 ,

Der Code ist nochimmer falsch. a-b = a hat keinen Effekt. Gruß :)

Antwort
von PerfectMuffin, 12

Wenn javac nicht da ist, hast du kein JDK.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten