inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

문제와 풀이2

메서드 - 문제와풀이2 예제

264

하마마마

작성한 질문수 1

0


[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

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

package method.ex;

import java.util.Scanner;

public class MethodEx4 {
public static void main(String[] args) {
int balance = 0;
Scanner scanner = new Scanner(System.in);
System.out.println("---------------------------------------");
System.out.println("1. 입금 | 2. 출금 | 3. 잔액 확인 | 4. 종료");
System.out.println("---------------------------------------");

 


while (true) {
System.out.print("선택: ");
int choice = scanner.nextInt();
switch (choice) {
case 1:

case 2:

case 3:

case 4:
System.out.println("시스템을 종료합니다.");
return;
}

}
}

해당 코드에서 switch문 4를 선택해도 return으로 main 메서드가 즉시 종료되지 않고,

---------------------------------------

1. 입금 | 2. 출금 | 3. 잔액 확인 | 4. 종료

---------------------------------------

가 반복 출력되는 이유는 무엇일까요?

 

  1. 해당 코드가 반복문도 아닌데 계속 반복되는 이유와,

  2. 4를 입력해도 코드가 즉시 종료되지 않는 이유가 궁금합니다.


해당 반복출력되는 부분을 while문 안에 넣어주니 4 입력시 코드가 즉시 종료되는데, 왜 이런 차이가 발생하는지 잘 모르겠습니다.

 

답변 부탁드립니다. 감사합니다.






 

 

java 객체지향

답변 1

0

나무늘보

안녕하세요. 하마마마님, 공식 서포터즈 코즈위버입니다.

작성하신 코드를 돌려보면 1, 2, 3, 4 중 어떤 번호를 선택하더라도 즉시 "시스템을 종료합니다."를 출력하며 종료됩니다. 🙂

질문에서 말씀해주신 현상(반복문 밖에 있는 System.out.println 항목이 지속적으로 호출되는 현상)은 발생하지 않았습니다. 문제가 지속된다면 프로젝트를 다시 생성하여 진행해주시기 바랍니다. 아래는 제가 테스트 했던 코드 내역입니다.

package loop;

import java.util.Scanner;

public class Example {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.println("---------------------------------------");
		System.out.println("1. 입금 | 2. 출금 | 3. 잔액 확인 | 4. 종료");
		System.out.println("---------------------------------------");

		while (true) {
			System.out.print("선택: ");
			int choice = scanner.nextInt();
			switch (choice) {
				case 1:
				case 2:
				case 3:
				case 4:
					System.out.println("시스템을 종료합니다.");
					return;
			}
		}
	}
}

감사합니다.

문제와 풀이4 문제점

0

46

2

문제풀이 시간마다 방향성

0

44

2

피라미드 문제 풀이

0

73

1

ScannerWhile3 예제 코드 질문

0

58

1

짝수 출력 문제 질문

0

53

1

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

0

85

2

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

0

133

2

Sql강의

0

91

1

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

0

57

1

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

0

48

1

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

1

813

3

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

0

63

1

for, while문 작성

0

66

1

68강 ArrayEx6 클래스 질문

0

61

1

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

0

151

2

소스코드 실행이 안돼요

0

120

2

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

0

80

1

While과 for 스코프 질문

0

64

1

김영한 java 입문 설치 질문

0

139

2

버퍼문제?

0

55

1

for문 피라미드 찍는거 질문

0

79

1

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

0

377

1

3번 문제 질문 있습니다.

0

100

2

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

0

135

1