この Java プログラムを実行すると、他のメソッドである quaffle と snitch が整数のみを返すため、出力は最初の println のみになると予想されます。ただし、このプログラムの出力には、quaffle および snitch メソッドの println も含まれています。後者のメソッドは返されないため、println は役に立たないと思います。どうしたの?
出力:
スニッチ: x = 4004, y = 1001
クワッフル: x = 2003, y = 1, z = 1001
ブラッジャー: x = 1001, y = 2001, z = 2003
プログラム:
import acm.program.*;
public class Hogwarts extends ConsoleProgram {
public void run() {
bludger(2001);
}
private void bludger(int y) {
int x = y / 1000;
int z = (x + y);
x = quaffle(z, y);
println("bludger: x = " + x + ", y = " + y + ", z = " + z);
}
private int quaffle(int x, int y) {
int z = snitch(x + y, y);
y /= z;
println("quaffle: x = " + x + ", y = " + y + ", z = " + z);
return z;
}
private int snitch(int x, int y) {
y = x / (x % 10);
println("snitch: x = " + x + ", y = " + y);
return y;
}
}