일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 혼공머신
- rnn
- 자바
- html/css
- JSP/Servlet
- 순환신경망
- ChatGPT
- 자바 실습
- 디버깅
- 컴퓨터구조
- 자바스크립트심화
- 데이터분석
- 연습문제
- 머신러닝
- 정보처리기사필기
- CSS
- 중학1-1
- 정보처리기사실기
- 상속
- 컴퓨터비전
- JSP
- 데이터베이스
- 중학수학
- 파이썬
- 딥러닝
- JDBC
- SQL
- 개발일기
- 자바스크립트
- c언어
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
반복문과 배열 그리고 예외 처리 6 - while 문 실습 1 : 기본문제 풀기 본문
for문에 이어 while문 실습을 해볼 것이다. 이 문제는 다 풀지 못하고 예배를 드리러 가야 할 수도 있다. 그래도 하는 데까지 해보자! while 문은 for 문보다 훨씬 어렵게 느껴지는데 여기에 관련된 실습 문제도 꽤 많다.
while 문
1. 특정 숫자를 입력하면 반복 종료 1 : 즉시 종료
문제를 잘 풀었다. 하지만 cnt라는 변수에서 왜 노란줄이 뜨는지 잘 모르겠다. 잘못된 부분은 없지만 필요 없는 변수라서 경고 표시가 나온 것 같다.
코드 수정하기
cnt는 있을 필요가 없다. num으로도 while문 안에서 반복이 계속 되기 때문이다. 이 변수가 필요한 경우는 프로그램이 종료되었다는 문구가 뜬 이후에 계속해서 입력문을 받을 때 필요할 것 같다.
2. 특정 숫자를 입력하면 반복 종료 2 : 한번 더 입력 받기
이 문제는 7을 입력받으면 바로 종료되지 않고 한 번 더 입력할 수 있도록 만들어졌다. 왜냐하면 while문이 2개이기 때문이다. 여기서도 num++이라는 코드가 있지만 이건 생략해도 가능한 거였다.
3. 10보다 큰 수를 입력하면 종료되도록
break 문을 if문 밖에 쓰면 정수 입력이 하나밖에 나오지 않는다. 그리고 안에 쓰면 계속해서 입력하라는 문구가 뜬다. 어떻게 해결할 수 있을까?
이제 잘 출력이 되고 있다. break의 위치도 중요하다는 걸 알게 되었다. if문에는 break를 원래 쓰지 않는 건 줄 알았는데 그건 아닌 모양이다.
4. -1을 입력하면 종료하는 프로그램
처음에는 짝수와 홀수 개수를 따로 입력해서 출력하는 줄 알았는데 저절로 계산하는 거였다. 조건문을 사용하면 된다. 이때 어떤 경우든 한 번은 출력이 되어야 하므로 do-while 문을 사용했다.
5. -1이 입력될 때까지 입력한 수의 평균 구하기
이 문제는 책에 나온 예제인데 비슷한 문제이므로 함께 묶어서 풀어보기로 했다.
정답은 보지 않고 거의 모든 걸 스스로 풀어보았다. 이 정도까지 풀 수 있다는데 참 놀라웠다. 얼마 전까지만 해도 어제까지만 해도 이렇게 잘할 수 있으리라 생각하지 못했다.
난 평균 변수를 하나 만들어서 저장해 주었지만 책에는 그냥 바로 써주었다. 근데 이 방법이 더 좋은 것 같다. 그리고 책에서는 정수를 2번 받도록 되어 있는데 그건 불필요한 코드인 것 같다. 이렇게 코드를 볼 수 있는 눈도 생긴 것이다.
학습을 마치고
마지막 문제는 외출하고 와서 풀어보았다. 이다음 문제부터는 무척 어려운 문제들이 있는데 그 문제들도 풀 수 있을 거라 기대해 본다. 지난번에 학습할 때는 그냥 내용을 숙지하는데 중점을 두고 혼자서 풀어보지는 못했던 문제들이 많았다. 하지만 두 번째 학습을 해보니 전보다 알게 되는 것들이 참 많다.
'프로그래밍 언어 > 자바' 카테고리의 다른 글
반복문과 배일 그리고 예외 처리 8 - do/while문과 구구단 실습 문제 풀기 (0) | 2024.08.11 |
---|---|
반복문과 배열 그리고 예외 처리 7 - while 문 실습 2 : 복잡한 프로그램 만들기 (0) | 2024.08.11 |
반복문과 배열 그리고 예외 처리 5 - for문 실습 (0) | 2024.08.11 |
코드의 흐름 제어 9 - 미션 문제 다시 풀기 (0) | 2024.08.11 |
반복문과 배열 그리고 예외 처리 4 - 이중 for문 (0) | 2024.08.11 |