예제를 따라서 치거나 또는 글을 읽고 내용을 이해를 했다고 해서 현재 배운 내용을 다 알고 있다고 할 수 있을까요? 저 또한 책에 있는 예제를 치거나 내용을 이해를 해서 다 알고 있다고 생각한 적이 있습니다. 하지만 다 알고 있다는 것은 모래성과 같다고 생각을 합니다.
위의 글을 보면 알겠지만 현재의 내용을 잘 이해를 하고 오셨다고 해도 완벽할 수 없습니다. 완벽을 하기 위해서는 현재 배운 내용을 문제로 풀어보면서 이해를 하는 과정이 나와야 합니다. 프로그래밍 공부는 input이 있고 output이 있는데 현재까지 input만 한 상태이기 때문에 output에 대한 훈련이 되어야 합니다. 이 글을 끝까지 읽으면 output을 할 수 있는 실력을 키우실 수 있습니다.
문제 풀기를 진행을 하겠습니다. 문제 풀기는 문제에 대한 이해와 현재 배운 여러가지를 접목을 시켜서 원하는 프로그램을 만들 수 있는 훈련을 하실 수 있습니다. 이 글을 끝까지 보시고 문제를 스스로 해결해서 실력이 업그레이드 되시기를 바랍니다.
현재까지 배운 내용을 기준으로 변수, 연산자, 출력문, 입력문, 조건문, 반복문을 모두 활용을 해볼 수 있는 기초적인 문제입니다.
※ 정답은 하나가 아닙니다. 문제의 대한 결과가 동작을 한다면 정답입니다. 밑에 나오는 정답은 참고를 하시면 됩니다.
※ 결과에 대한 테스트를 예시로만 하는 것보다 여러가지를 하셔서 생각하는 결과로 나오는 확인을 하시는 것이 더욱 더 좋습니다.
위의 문제를 Class를 생성하고 구현이 되게 소스를 만드시고 실행을 해주세요.
실행을 잘 모르시면 다섯 걸음과 여섯 걸음을 참고해주세요.
import java.util.Scanner;
public class Q2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//1. 숫자입력
Scanner sc = new Scanner(System.in);
System.out.print("숫자 입력: ");
int num = sc.nextInt();
//2. 약수출력 -> 1, 입력된 값은 무조건 포함
//1과 입력 값을 제외한 값에 대한 약수는 반복문 안에서 출력
System.out.print(num+"약수는 ");
for(int i = 1;i<num;i++){
if(num % i == 0) {
System.out.print(i+", ");
}
}
System.out.println(num+"입니다.");
}
}
이 문제를 푸셨어도 완벽하게 이해를 했다고 생각을 하시면 안됩니다. 좀 더 어려운 문제를 꾸준히 계속 푸신다면 분명이 그때가 되면 완벽한 이해가 되실 겁니다.