Variablen JAVA-Hausübung BITTE um HILFE

I´m Raylee

Mitglied
Hi liebe Java-Community.

Könnte mir bitte jemand von euch eine Lösung zu dieser Übung geben?
Ich blicke hierbei nicht durch und weiß nicht genau was von mir verlangt wird.

Aufgabenteil:
4:
Welchen Wert liefern die folgenden Ausdrücke? Jeder Ausdruck übernimmt dabei die neuen Werte für d und e.
int d = 1, e =2;
d *= e;
d += e++;
d -= 3-2*e;
e /= (d+1);

5:
Schreiben Sie ein Programm, das die Anweisungen aus Aufgabenteil 4 enthält und nach jeder dieser Anweisungen die Namen und Werte der Variablen d und e ausgibt.

Ich freue mich auf eure Antworten.

Best regards
Raylee

java-hue.jpg.html
 

krgewb

Top Contributor
1 += 5 ist dasselbe wie:
1 = 1 + 5

Unterschied zwischen i++ und ++i:
Java:
int i = 0;
System.out.println("" + i++);        // Ausgabe: 0
System.out.println("" + i);          // Ausgabe: 1
// ---> Es wird die Zahl ausgegeben und dann um 1 erhöht.

int i = 0;
System.out.println("" + ++i);      // Ausgabe: 1
System.out.println("" + i);        // Ausgabe: 1
// ---> Die Zahl wird um 1 erhöht und dann ausgegeben.
 

I´m Raylee

Mitglied
1 += 5 ist dasselbe wie:
1 = 1 + 5

Unterschied zwischen i++ und ++i:
Java:
int i = 0;
System.out.println("" + i++);        // Ausgabe: 0
System.out.println("" + i);          // Ausgabe: 1
// ---> Es wird die Zahl ausgegeben und dann um 1 erhöht.

int i = 0;
System.out.println("" + ++i);      // Ausgabe: 1
System.out.println("" + i);        // Ausgabe: 1
// ---> Die Zahl wird um 1 erhöht und dann ausgegeben.

Danke für die schnelle Anwort! :)
Aber wie kommst du auf 1 += 5 bzw. 1 = 1+5?

Das steht ja gar nicht in der Angabe?
Oder bin ich gerade total angerannt?
 

krgewb

Top Contributor
Das ist nur ein Beispiel.

Weiterer Tipp:
Java:
int d = 1, e = 2;
ist dasselbe wie
Java:
int d = 1;
int e = 2;
 

I´m Raylee

Mitglied
Danke :)
Das ist mir bereits klar.

Ich bin aber noch immer nicht darauf gekommen, was ich hier machen soll.
In der Angabe steht ja "Welchen Wert liefern die folgenden Ausdrücke?" + "Jeder Ausdruck übernimmt dabei die neuen Werte für d und e."

Ich würde ja an so etwas denken:

Java:
        int d = 1, e =2;
         System.out.println(d);
         d *= e;
         System.out.println(d);
         d += e++;
         System.out.println(d);
         d -= 3-2*e;
         System.out.println(d);
         e /= (d+1);
         System.out.println(d);

Oder an sowas:
Java:
        int d = 1, e =2;
         d *= e;
         d += e++;     
         d -= 3-2*e;
         e /= (d+1); 
        
         int ergebnis = d+e;
         System.out.println(ergebnis);

Ich entschuldige mich für die dummen Fragestellungen.. aber ich weiß hier wirklich nicht was ich hier machen soll bzw. muss.

Ich freue mich auf eure Hilfestellungen.

Best regards
Raylee
 

I´m Raylee

Mitglied
// Beispiel 4;

int d = 1, e =2;
d *= e; // Wert = 2
d += e++; // Wert = 4
d -= 3-2*e; // Wert = 1
e /= (d+1); // Wert = 1


//Beispiel 5:

int WertD = d;
int WertE = e;

System.out.println("Wert D: " + WertD);

System.out.println("Wert E: " + WertE);


Dürfte ich fragen ob ich jetzt richtig liege?
 

krgewb

Top Contributor
Anhand der Ausgabe kannst du überprüfen, ob deine Lösung für Aufgabe 4 richtig war.

Du hast geschrieben:
Java:
         int d = 1, e =2;
         System.out.println(d);
         d *= e;
         System.out.println(d);
         d += e++;
         System.out.println(d);
         d -= 3-2*e;
         System.out.println(d);
         e /= (d+1);
         System.out.println(d);
Das ist schon fast die Lösung für Aufgabe 5. Es fehlt nur die Ausgabe des Wertes von e.

Die Namen sollen aber auch noch ausgegeben werden.
In Beitrag #9 hast du das bereits getan. Es ist aber nicht nötig, eine neue Variable zu erstellen.
 

I´m Raylee

Mitglied
Danke für die schnelle Antwort! :)

Hab ich es jetzt geschafft?

Beispiel 4 + Beispiel 5 zusammen:

Java:
        int d = 1, e = 2;

        d *= e;  //WERT D = 2  --> Da wird 2 mal 1 gerechnet!
        System.out.println("d = " + d + " e = " + e);
      
        d += e++;  //WERT D = 4  --> Da d schon auf 2 ist wird 2+2 gerechnet und e wird nach der Rechenoption um 1 erhöht! Also WERT e = 3 gesetzt!
        System.out.println("d = " + d + " e = " + e);
      
        d -= 3-2*e;   //WERT D = 7  --> Hier rechnen wir 2*3 = WERT 6 danach 3-6 = -3 und dann 4--3 also wird plus. WERT D = 7
        System.out.println("d = " + d + " e = " + e);
      
        e /= (d+1);   // Wert = 0  --> da wir im int rechnen. Mit Double-Werten würde ein korrektes Beispiel rauskommen.
        System.out.println("d = " + d + " e = " + e);
 

krgewb

Top Contributor
Scheint richtig zu sein.

3 / 8 ergibt 0,375.
Da der Datentyp Integer ist gehen die Nachkommastellen verloren. Das heißt es wird immer abgerundet.
Wenn du also z.B. 29 / 10 rechnest ist das Ergebnis 2.
 

Neue Themen


Oben