Blutiger Anfänger braucht Hilfe von euch :-)

Naja aber ich hab dir ja jetzt geschrieben wie das geht :D

Nimmst du das f weg von der Zahl steht da noch 1.8 und das ist fuer Java nen Double. Fahrenheit und Ceclius sind aber float wie du schon geschrieben hast. Und Java kann keine float und double Zahlen miteinander verrechnen.
 
Naja aber ich hab dir ja jetzt geschrieben wie das geht :D

Nimmst du das f weg von der Zahl steht da noch 1.8 und das ist fuer Java nen Double. Fahrenheit und Ceclius sind aber float wie du schon geschrieben hast. Und Java kann keine float und double Zahlen miteinander verrechnen.

Achso okay danke dir. Dann haben die weiter gefragt was passiert wenn man die runden Klammern entfernt. Also bei mir ist nichts passiert.
also statt
fahrenheit = celsius * 1.8f + 32.0f;
fahrenheit=(celsius*1.8f+32.0f);

Zum Schluss sollen wir ein Programm erstellen das eine Temperatur in Grad
Fahrenheit einliest und in Grad Celsius ausgibt. Also habe ich einfach mal versucht, das Programm seleber zu schreiben:-) Hier meine Lösung: Habe die Formel für Fahrenheit nach Celsius in google gefunden celsius=fahrenheit-32/1.5

Java:
public class Praktikum2_Teil4b {
public static void main(String[] args) {
float celsius;
float fahrenheit;
System.out.print("Geben Sie eine Temperatur in Grad Fahrenheit ein : ");
fahrenheit = Eingabe.readFloat("");
celsius = (fahrenheit - 32.0f / 1.5f);
System.out.print(fahrenheit + " Grad Fahrenheit = ");
System.out.print(celsius + " Grad Celsius\n");
}
}

Obwohl ich die richtige Formel für die Umrechnung von Fahrenheit auf Celsius im Programm geschrieben habe zeigt er mir falsche Ergebnisse an siehe Screenshot.
 

Anhänge

  • Unbenannt.jpg
    Unbenannt.jpg
    67,6 KB · Aufrufe: 18
  • Unbenannt1.jpg
    Unbenannt1.jpg
    74,5 KB · Aufrufe: 15
Zuletzt bearbeitet von einem Moderator:
Danke Maik ^^

@Trbk85
Gewoehn dir an, den source code einzuruecken. (siehe code den ich gestern geschickt hatte). Das wird dir helfen bei (groesseren) Programmen den Ueberblick zu behalten. Und fuer uns ist es auch einfacher zu lesen :D D.h. bei deinem Programm jetzt, die ganz unterste geschlossene geschweifte Klammer kommt ganz nach links da sie auf der selben hoehe sein muss wie die Zeile wo die offene geschweifte dazugehoerige Klammer ist. Das gleiche gilt fur die vorletzte geschlossene Klammer die muss auch auf der selben hoehe sein wie die Zeile wo die dazugehoerige offene geschweifte Klammer ist. Siehe sourcecode Beispiel
Java:
public class Klassenname {
	public static void main(String[] args) {
		System.out.print( "Irgendwas" );
	}
	
	public void methodenName() {
		if ( bla bla ) {
			bla bla
		} else {
			bla bla
		}
	}
}

Also wenn ich schaue wie man von Celcius nach Fahrenheit kommt, steht da =>
fahrenheit = celsius * 1.8f + 32.0f
Da brauch man dann auch net suchen wie die Formel von Fahrenheit nach Celcius ist, denn man kann es ja einfach umstellen
Mach das mal bitte und stell deine Loesung mit den einzelnen Umstellungsschritten hier rein. ( Ich moecht naemlich ma gerne sehen wie die Formel dann ausschaut ^^, ich koennts dri ja vorrechnen aber das bringt dir ja net viel. Und ausserdem siehst du dann vielleicht den Fehler warum das im Programm net t)


EDIT: Achja du hast ja bei der Aufgabe vorher festgestellt, dass Klammern aussen rum nix bewirken, warum machst du sie dann auch hier aussen rum?
 
Zuletzt bearbeitet:
Danke Maik ^^

@Trbk85
Gewoehn dir an, den source code einzuruecken. (siehe code den ich gestern geschickt hatte). Das wird dir helfen bei (groesseren) Programmen den Ueberblick zu behalten. Und fuer uns ist es auch einfacher zu lesen :D D.h. bei deinem Programm jetzt, die ganz unterste geschlossene geschweifte Klammer kommt ganz nach links da sie auf der selben hoehe sein muss wie die Zeile wo die offene geschweifte dazugehoerige Klammer ist. Das gleiche gilt fur die vorletzte geschlossene Klammer die muss auch auf der selben hoehe sein wie die Zeile wo die dazugehoerige offene geschweifte Klammer ist. Siehe sourcecode Beispiel
Java:
public class Klassenname {
	public static void main(String[] args) {
		System.out.print( "Irgendwas" );
	}
	
	public void methodenName() {
		if ( bla bla ) {
			bla bla
		} else {
			bla bla
		}
	}
}

Also wenn ich schaue wie man von Celcius nach Fahrenheit kommt, steht da =>
fahrenheit = celsius * 1.8f + 32.0f
Da brauch man dann auch net suchen wie die Formel von Fahrenheit nach Celcius ist, denn man kann es ja einfach umstellen
Mach das mal bitte und stell deine Loesung mit den einzelnen Umstellungsschritten hier rein. ( Ich moecht naemlich ma gerne sehen wie die Formel dann ausschaut ^^, ich koennts dri ja vorrechnen aber das bringt dir ja net viel. Und ausserdem siehst du dann vielleicht den Fehler warum das im Programm net t)


EDIT: Achja du hast ja bei der Aufgabe vorher festgestellt, dass Klammern aussen rum nix bewirken, warum machst du sie dann auch hier aussen rum?

Hehe und ich dachte ich hätte das gemacht mit dem JAVA code aber es war Maik hehe danke :-)
Ja stimmt einfach umstellen ich blödi:-) also die Formel lautet c=(f-32f)/1.8f die Klammer hatte ich vergessen deswegen funktionerte es nicht :-) Jetzt weiss ich auch wozu man die runden Klammern braucht.
 
Hm, hast du das auch jetzt wirklich ausgerechnet? Naja hauptsache du weisst jetzt wodran es lag. Klammern beim Rechnen mit Java braucht man halt genauso wie in der Mathematik ^^

Edit: Da fehlten net nur die Klammern du hattest auch 1.5 statt 1.8 geschrieben
 
Hm, hast du das auch jetzt wirklich ausgerechnet? Naja hauptsache du weisst jetzt wodran es lag. Klammern beim Rechnen mit Java braucht man halt genauso wie in der Mathematik ^^

Edit: Da fehlten net nur die Klammern du hattest auch 1.5 statt 1.8 geschrieben

Ja da hast du recht :-) Das Programm läuft jetzt super und ich habe es auch gerade meinem Prof gezeigt der Versuch wurde anerkannt dank deiner Hilfe:-) Ich muss dir mal ein ausgeben:-)

Du hast echt gute Pädagogische ansätze.
 
Hihi das ist auch sehr lieb von dir Mimi;)
So bist du bereit für das nächste Programm?:p
Keine Sorge ist ein einfaches Programm hoffe ich ma hihi
Hier die Aufgabenstellung: (Sorry falls es wieder nicht klappt mit dem Code.)
Aufgabe 1 (while und do...while-Schleife in C):
Zur Verdeutlichung der Unterschiede zwischen den beiden Schleifen dient uns ein
Programm zur Fakultätsberechnung.

Java:
void main () {
int i, n, f;
scanf ("%d", &n);
f = 1;
i = 2;
while (i <= n) {
f = f * i;
i = i + 1;
}
printf ("%d\n", f);
}
[./JAVA]
Testen Sie das Programm mit Werten für n von 10 bis 15! Für welchen maximalen
Eingabewert wird die Fakultät korrekt berechnet?

Also der max. korrekte Wert der bei mir angezeigt wird ist die 12.
(Siehe Sreenhot)
 

Anhänge

  • Unbenannt.jpg
    Unbenannt.jpg
    61,1 KB · Aufrufe: 14
Zuletzt bearbeitet:
Wenn du jetzt noch statt CODE, JAVA in den eckigen klammern schreibst dann geht das auch.

Naja nachrechnen werd ich es jetzt wohl kaum ^^ War ja jetzt keien Programmieraufgabe, testen wirst du es ja wohl koennen ^^
 
Wenn du jetzt noch statt CODE, JAVA in den eckigen klammern schreibst dann geht das auch.

Naja nachrechnen werd ich es jetzt wohl kaum ^^ War ja jetzt keien Programmieraufgabe, testen wirst du es ja wohl koennen ^^

Nein sollst du auch nicht nachrechnen habe es dir nur gezeigt damit du weiss worum es in dem nächsten Teil geht:-)
also nun sollen wir folgendes Programm ausfüllen:
?? Nachfolgend haben wir die do...while-Variante zur Fakultätsberechnung:
Java:
 void main () {
int i, n, f;
scanf ("%d", &n);
f = 1;
i = 2;
if (i <= n)
do {
?
}
while (i <= n);
printf ("%d\n", f);
}
Ergänzen Sie die 'do...while'-Schleife ebenfalls. Überlegen (und testen!) Sie, welche
Konsequenzen die Benutzung dieser Schleife hat.
Sind die Ergebnisse bei beiden Schleifen identisch (wenn nicht, warum - und was kann
dagegen getan werden?)?


meno wieso geht das nicht mit dem Java code:-(
 
Zuletzt bearbeitet:
Zurück