inflearn logo
강의

Course

Instructor

Kim Young-han's Java Tutorial - Your First Step into Java with Code

Problems and Solutions 1

array 문제풀이 2번 질문입니다.

55

작성자 없음

0 asked

0

 학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.


1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요

화면 캡처 2026-01-19 100337.png.webp

 

질문을 보면 사용자에게 정수를 받는 다는 전제일 때, 입력값이 12345 이면 1,2,3,4,5으로 나오지만

34567 로 정수값을 입력하면 출력값이 3,4,567 로 나오는데 도저히 해답이 생각 안나서요ㅠ 어떻게 코드를 수정해야 다른 정수들을 넣어도 4,5,6,7,8 <<이런식으로 나올 수 있을까요?

 

 

java 객체지향

Answer 1

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 이혜원님.

질문하신 내용은 Java의 배열과 반복문을 활용하여 입력받은 정수를 출력할 때 발생하는 문제로 보입니다. 입력된 값이 34567일 경우, 3, 4, 567이 아니라 3, 4, 5, 6, 7로 출력되도록 하는 방법을 살펴보겠습니다.

문제의 원인은 사용자가 입력하는 값(34567)을 정수형으로 처리하면서 한 자리씩 처리하지 않는 데 있습니다. Scanner에서 nextInt()를 사용하여 입력을 받으면, 공백을 기준으로 정수를 읽기 때문에 숫자 34567을 하나의 정수로 인식하게 됩니다.

이 문제를 해결하기 위해서는 문자열로 입력을 받아 각 문자를 숫자로 변환하여 배열에 추가해야 합니다. 이를 위해서 next()를 이용해 문자열로 먼저 입력받고, 이를 한 글자씩 쪼개 숫자로 변환해 배열에 넣는 방식을 사용할 수 있습니다.

아래와 같이 수정할 수 있습니다:

import java.util.Scanner;

public class ArrayEx {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("5개의 정수를 입력하세요:");
        String input = scanner.next(); // 문자열로 입력받기

        int[] numbers = new int[input.length()];

        for (int i = 0; i < input.length(); i++) {
            numbers[i] = Character.getNumericValue(input.charAt(i));
        }

        System.out.println("출력:");
        for (int i = 0; i < numbers.length; i++) {
            System.out.print(numbers[i]);
            if (i < numbers.length - 1) {
                System.out.print(",");
            }
        }
    }
}

이 코드는 입력을 문자열로 받기 때문에 사용자가 34567을 입력하더라도 각 숫자가 개별적으로 배열에 저장되며, 올바르게 출력됩니다.

위 코드와 함께, 관련된 개념을 설명하는 기존 답변이 도움이 될 수 있습니다. 비슷한 문제를 다룬 게시물 “문제와풀이1 문제2번 질문”에서는 출력 포맷과 관련된 다른 문제 해결 방법에 대해 논의하고 있습니다. 이를 참고하여 추가적인 이해를 얻을 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해 드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

문제와 풀이4 문제점

0

41

2

문제풀이 시간마다 방향성

0

39

2

피라미드 문제 풀이

0

71

1

ScannerWhile3 예제 코드 질문

0

55

1

짝수 출력 문제 질문

0

50

1

Array 연습 문제 5번 질문입니다.

0

84

2

단축어가 이상하게 나옵니다

0

128

2

Sql강의

0

90

1

JAVA입문 / 메서드편 문제와 풀이2

0

47

1

인텔리제이 무료버젼이 통합되었다는데 30일 무료버전이면 어떻게 사용하나요

1

800

3

OperationEx3에서 꼭 boolean을 써야 하나요?

0

59

1

for, while문 작성

0

65

1

68강 ArrayEx6 클래스 질문

0

60

1

IO.println(String.format("Hello and welcome!"));

0

149

2

소스코드 실행이 안돼요

0

119

2

메서드 문제와 풀이2에서 마지막 문제 이렇게 풀어도 괜찮은 건가요..?

0

79

1

While과 for 스코프 질문

0

63

1

김영한 java 입문 설치 질문

0

137

2

버퍼문제?

0

54

1

for문 피라미드 찍는거 질문

0

78

1

21버전이 없고, 강의 메뉴얼 확인해보면 된다는 김영한 선생님 답변 확인했습니다.

0

373

1

3번 문제 질문 있습니다.

0

99

2

sout에는 변수가 하나만 들어가야 하나요?

0

134

1

21버전이 없어요 ㅠ

0

322

2