[자바JAVA]사용자로부터 정수 10개를 입력받은 후 3의 배수만 골라서 출력하기

💡 핵심 요약 (TL;DR)

사용자로부터 정수 10개를 입력받은 후 3의 배수만 골라서 출력하기의 동작 원리를 이해하고 실제 프로젝트에 적용하기 위한 실무 가이드다. * 배열을 두 개를 생성하면 메모리 낭비가 생긴다. 변수가 가능하다면 객체대신 변수를 사용하는 것이 메모리효율에 좋다.

문제

정수 10개를 입력받아 배열에 저장한 후, 배열을 검색하여 3의 배수만 골라서 출력하시오. 3의 배수가 없을 경우 “해당사항 없음” 메세지를 출력 하시오.

내코드

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
32
public static void main(String[] args) {

// 정수형 배열 선언
int inputTen[] = new int[10];

// 스캐너로 총 10개의 정수를 사용자로부터 입력 받기
Scanner sc = new Scanner(System.in);
System.out.print("10개의 정수를 입력하세요");

for (int i = 0; i < inputTen.length; i++) {
inputTen[i] = sc.nextInt();
}

// 배열에서 3의 배수만 골라서 ArrayList에 담기
ArrayList<Integer> result = new ArrayList<>();

for(int i=0; i < inputTen.length; i++){
if(inputTen[i]%3 == 0){
result.add(inputTen[i]);
}
}

// 3의 배수가 있을 경우 ArrayList전체 출력하고 없을 경우 해당사항 없음 메세지 출력
if(result.size() > 0 ){
for(Integer i : result){
System.out.println(i);
}
}else{
System.out.println("해당사항 없음");
}

}//end of main()
  • 배열을 두 개를 생성하면 메모리 낭비가 생긴다. 변수가 가능하다면 객체대신 변수를 사용하는 것이 메모리효율에 좋다.
    • 변수인 int는 4바이트인데 객체는 최소 4바이트 이상이니까.
  • 따라서 이 문제에선 변수를 쓰는 것이 속도도 빠르다. 왜냐면 메모리를 만드는 시간이 드니까

강사님코드

  • 10개 check하는 변수를 생성
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
public static void main(String[] args) {

// 정수형 배열 선언
int inputTen[] = new int[10];

// 스캐너로 총 10개의 정수를 사용자로부터 입력 받기
Scanner sc = new Scanner(System.in);
System.out.print("10개의 정수를 입력하세요");

for (int i = 0; i < inputTen.length; i++) {
inputTen[i] = sc.nextInt();
}

//3의 배수만 출력
int ck = 0;
for(int i=0;i<inputTen.length;i++){
if(inputTen[i]%3 == 0){
System.out.println("3의 배수 :"+inputTen[i]);
}else{
ck++;
if(ck ==10){
System.out.println("해당사항 없음");
}
}
}

}//end of main()

#TILITWILL(JAVA)

[자바JAVA]사용자로부터 정수 10개를 입력받은 후 3의 배수만 골라서 출력하기

https://sowon-dev.github.io/2020/10/04/201005jsp/

Author

sowon-dev

Posted on

2020-10-04

Updated on

2026-10-21

Licensed under

CC BY 4.0

댓글