Java Geometrieaufgabe, bitte helft mir

Hallo,

für den Unterricht müssen wir ein kleines Programm schreiben, dass aus Länge, Höhe und Breite eines Quaders verschiedene Werte errechnet.

Leider scheitere ich an der Länge der Raumdiagonale, da man dazu die Wurzel benötigt, Java, aber mir die Wurzel nicht ausgibt.

Bin ich ein totaler Anfäger, aber bis jetzt hat alles gut geklappt. Hier nochmal der Code:

double Test = 25;
Math.sqrt(Test);
System.out.print (Test);

Dann gibt er aber wieder die 25 aus.

Was mache ich falsch?

Gruß

Grenzreiter

Hallo Reiter an der Grenze,

du lässt dir den Inhalt der Variablen „Test“ ausgeben, nicht die Wurzel.

Manfred

Ahh…danke. Aber wie komme ich dann an die Wurzel? (Sorry, wie gesagt ich bin der totale Anfänger)

Kleine Ergänzung
Hallo,

deine Aussage stimmt natürlich zu 100%, aber ich glaube hier hat der Ersteller ein Verständnisproblem.

Wenn du eine Variable in eine Methode übergibst, arbeitest du mit einer Kopie deiner Variable in der Methode. Das Original bleibt aber gleich. Deshalb gibst du einer Methode immer einen Rückgabetyp mit, sofern sie denn etwas zurück geben soll. So gibt bspw. die Methode

public String machWasSinnvolles(String variable){
//Mach was sinnvolles
return variable;
}

einen String zurück mit dem du dann weiter arbeiten kannst, sofern du ihn einliest, sonst verfliegt der Rückgabewert im GC. Natürlich kannst du den Rückgabewert frei bestimmen.

Der vollständigkeitshalber:

Hingegen gibt die Methode

public void machWasSinnvolles(String irgendwas){
//Mach irgendwas sinnvolles
}

gar nichts zurück. Das soll aber nicht heißen, dass die Variable die du in diese Methode übergibst, automatisch mit einem neuen Wert überschrieben wird. Dein Übergabewert ist immer eine Kopie.

Ich hoffe du hast verstanden was dein Fehler ist. Falls nicht frag nach :smile:

Grüße

Jo

Hallo,

Du könntest eine lokale Variable „Wurzel“ deklarieren und dieser den Wert der Wurzel von Test zuweisen. Und dann den Inhalt der Variablen „Wurzel“ ausgeben, also so z.B.:

double Test = 25;
double Wurzel;
Wurzel = Math.sqrt(Test);
System.out.println(Wurzel);

Verstehst Du was ich meine ? Es gäbe noch einen anderen Weg, aber da Du ja Anfänger bist, nehmen wir einfach mal den einfachsten :wink:

Gruss
Petra

Hallo,

Ich täte es so machen:
double Test = 25;
System.out.println(Math.sqrt(Test));

Lg Denni

System.out.println(Math.sqrt(25));

Genial, super es klappt, danke Leute.