개발/Java
[Head First Java] Chapter4 연습문제 수영장 퍼즐
Binple
2011. 6. 9. 16:39
코드 조각을 한번만 사용하여 아래와 같은 출력 결과를 얻어야 한다.
출력 결과
출력 결과
result 543345문제
public class Puzzle4 {
public static void main(String[] args) {
________________________
int y = 1;
int x = 0;
int result = 0;
while(x < 6){
________________
________________
y = y * 10;
________
}
x = 6;
while(x > 0){
________
result = result + ____________
}
System.out.println("result " + result);
}
}
class ________{
int ivar;
________ doStuff(int ____){
if(ivar > 100){
return ________
}
else{
return ________
}
}
}
코드 조각
ivar = x; obs.ivar = x; obs[x].ivar = x; obs[x].ivar = y;
Puzzle4[] obs = new Puzzle4[6]; Puzzle4[] obs = new Puzzle4[6]; Puzzle4b[] obs = new Puzzle4b[6]; Puzzle4b[] obs = new puzzle4[6];
doStuff(x); obs.doStuff(x); obs[x].doStuff(factor); obs[x].doStuff(x);
ivar factor public private
ivar + factor; ivar * (2 + factor); ivar * (5 - factor); ivar * factor;
x = x + 1; x = x - 1;
Puzzle4 Puzzle4b Puzzle4b()
int short
obs[x] = new Puzzle4b(x); obs[] = new Puzzle4b(); obs[x] = new Puzzle4b(); obs = new Puzzle4();정답
public class Puzzle4 {
public static void main(String[] args) {
Puzzle4b[] obs = new Puzzle4b[6];
int y = 1;
int x = 0;
int result = 0;
while(x < 6){
obs[x] = new Puzzle4b();
obs[x].ivar = y;
y = y * 10;
x = x + 1;
}
x = 6;
while(x > 0){
x = x - 1;
result = result + obs[x].doStuff(x);
}
System.out.println("result " + result);
}
}
class Puzzle4b{
int ivar;
public int doStuff(int factor){
if(ivar > 100){
return ivar * factor;
}
else{
return ivar * (5 - factor);
}
}
}
Puzzle4.java