-1
私はjavaを使い慣れていて、新しいstackoverflowです。 :スワップ関数の出力
public static void main(String[] args) {
Circle circle1 = new Circle(1);
Circle circle2 = new Circle(2);
swap1(circle1, circle2);
System.out.println("After swap1: circle1 = " +
circle1.radius + " circle2 = " + circle2.radius);
swap2(circle1, circle2);
System.out.println("After swap2: circle1 = " +
circle1.radius + " circle2 = " + circle2.radius);
}
public static void swap1(Circle x, Circle y) {
Circle temp = x;
x = y;
y = temp;
}
public static void swap2(Circle x, Circle y) {
double temp = x.radius;
x.radius = y.radius;
y.radius = temp;
}
class Circle {
double radius;
Circle(double newRadius) {
radius = newRadius;
}
}
出力が "CIRCLE1 = 1.0 CIRCLE2 = 2.0 swap1後" として読み込む: "swap2後:CIRCLE1 = 2.0 CIRCLE2 = 1.0" 私の質問は、この作業を行う方法ですここに私の教科書からのコードはありますか?最初のprint文が2番目のprint文と同じでないのはなぜですか? 2つの異なるオブジェクトを交換することはできませんか?前もって感謝します。
発信者の参照を変更することはできません。 –