개발/JAVA
JAVA / [혼공]While문으로 구구단 만들기
코인아님
2022. 12. 22. 12:12
지금까지 if, for문은 어느정도 이해가 갔지만 while문은 쓰긴 써도 정확히 이해가 가지 않았다!
그렇게 해서 혼자 만들어 본 구구단!
1차시도
2차시도
3차시도
정답이랑 가장 비슷했던 1차시도로 돌아가서 고쳐야겠다고 생각했다.
1차시도 코드
int a = 1;
int b = 1;
while (a < 9) { //2~ 9단 만들기
a++;
System.out.println(a + "단");
while (b <= 9) {
System.out.println(a + " X " + b + " = " + (a*b));
b++;
}
}
1차시도에서 문제였던 것 : while이 9에서 멈춰버려서 두 번째 와일문이 실행되지 않았다!!!
하지만 한참동안 첫 번째 while문이 돌지 않는다고 생각했던 탓에 위와같은 시행착오를 겪다가
b값이 1로 돌아가면 된다고 드디어 생각!
int a = 1;
while (a < 9) { //2~ 9단 만들기
a++;
System.out.println(a + "단");
int b = 1;
while (b <= 9) {
System.out.println(a + " X " + b + " = " + (a*b));
b++;
}
}
오류가 나면 일단 어디서 뭐가 잘못됐는지 생각!!
그 이후에 코드를 고쳐야 시행착오를 줄일 수 있다는 교훈을 얻었다.
/번외로 짝수 * 홀수만 뽑기/
1차 시도
int a = 1;
while (a < 9) { //2~ 9단 만들기
a++;
if(a % 2 == 0) {
System.out.println(a + "단");
int b = 1;
while (b <= 9) {
if (b % 2 == 1) {
System.out.println(a + " X " + b + " = " + (a*b));
b++;
}continue;
}
}continue;
}
2차시도
int a = 1;
while (a < 9) { //2~ 9단 만들기
a++;
if(a % 2 == 0) {
System.out.println(a + "단");
int b = 1;
while (b <= 9) {
b++;
if (b % 2 == 1) {
System.out.println(a + " X " + b + " = " + (a*b));
}continue;
}
}continue;
}
3차 시도
int a = 1;
while (a < 9) { //2~ 9단 만들기
a++;
if(a % 2 == 0) {
System.out.println(a + "단");
int b = 0;
while (b <= 9) {
b++;
if (b % 2 == 1) {
System.out.println(a + " X " + b + " = " + (a*b));
}continue;
}
}continue;
}
고수 친구의 코드
교훈 2 : 연산자를 잘 활용하자!
반응형