Ausgaben in JAVA

Hallo ich lerne gerade für einen Java Test, und bin bei dem Punkt Java Ausführungen.

Wir haben folgendes:

Java:
Point p1, p2, p3;

p1 = new Point(2.0, 3.0);
p2 = new Point(4.0, 2.0);
p3 = p1;
p2.x = p3.x
p3.y = 1.0

System.out.println("A:" + (p2 == p1));
System.out.println("B:" +( p1 == p3 )):
System.out.println("C:" +( p3.y == p2.y ));
System.out.println("D:" +( p1.y )):
System.out.println("E:" +( p2.y ));
System.out.println("F:" +( p3.x ));

Sooo nun soll ich die Ausgaben nennen

A: false
B: true
C: false
D: 1.0
E: 2.0
F: hier komm ich iwie net weiter,... für mich kommt da 2.0 raus aber in der Lösung(kp ob die stimmt müsste aber stimmen) kommt 4.0 raus

Wie kommt man drauf?

Für mich lauten die Punkte am Anfang

p1 = (2.0,3.0)
p2 = (4.0,2.0)
aus p3=p1 folgt -> p3 = (2.0,3.0)
aus p2.x = p3.x folgt -> p2(2.0,2.0)
aus p3.y = 1.0 folgt -> p3(2.0,1.0)

So lauten für mich die end Punkte

p1= (2.0,3.0)
p2= (2.0,2.0)
p3= (2.0,1.0)

aber wie es scheint muss wo bei p3 eine 2.0 steht ein 4.0 hin, aber warum?
 
Zuletzt bearbeitet:
für mich kommt das raus:
A: false
B: false
C: false
D: 1.0
E: 2.0
F: 2.0

Hast du dich vllt bei B vertippt (weil das ist das Gleiche wie A 😀)? Im Zweifelsfall frag doch einfach den compiler.

@fix: Er ändert doch p2.x und nicht p3.x
Code:
Ziel = Quelle;
 
hmm achso ich dachte bei einem = zeichen, dass der erste wert sich zum 2. anpasst... aber wie du sagst ist es andersrum, ja, dann macht das sinn..

eine frage:

da steht ya am anfang erstmal nix von einem p3.. also p3 hat ja am anfang garkeine werte wie p1 und p2

wo steht p3 = p1;

stimmt es also nicht dass p3: 2.0, 3.0 wird.. oder?

p3 bekommt seine werte erst durch
p2.x = p3.x
p3.y = 1.0
übergeben...

richtig?
 
Zuletzt bearbeitet:
Wie kann ich das ganze in java mal testen und ausgeben lassen?

Java:
public class test {
	Point p1, p2, p3 ; {
	 
	p1 = new Point(2.0, 3.0);
	p2 = new Point(4.0, 2.0);
	p3 = p1;
	p2.x = p3.x;
	p3.y = 1.0;
	 
	System.out.println("A:" + (p2 == p1));
	System.out.println("B:" + ( p1 == p3 ));
	System.out.println("C:" + ( p3.y == p2.y ));
	System.out.println("D:" + ( p1.y ));
	System.out.println("E:" + ( p2.y ));
	System.out.println("F:" + ( p3.x ));
	}
}

funkzt iwie net...
 
Java:
public class test {
	
    public static void main(String args[])
    {
	  Point p1, p2, p3 ; 
	  p1 = new Point(2.0, 3.0);
	  p2 = new Point(4.0, 2.0);
	  p3 = p1;
      	  p2.x = p3.x;
	  p3.y = 1.0;
	 
	  System.out.println("A:" + (p2 == p1));
	  System.out.println("B:" + ( p1 == p3 ));
	  System.out.println("C:" + ( p3.y == p2.y ));
	  System.out.println("D:" + ( p1.y ));
	  System.out.println("E:" + ( p2.y ));
	  System.out.println("F:" + ( p3.x ));
	}
}

Den Aufbau von Klassen habt ihr anscheinend noch nicht gemacht?
 

Zurück
Oben