작성
·
134
·
수정됨
0
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
조금 논외 질문이긴 하지만 while (true)로 무한루프를 돌려서 -1을 입력한 후 숫자들의 합계와 평균이 나오게 만들고나서도 프로그램이 종료가 안되고 다음 계산을 하는 형식으로는 어떤식으로 코딩을 할 수 있을까요? ㅠㅠ
ex
1
2
3
4
총합 10을 출력 후 그대로 이어서 프로그램이 종료가 되지않구 다음 숫자를 입력했을때 다시 이후부터 누적된 총합을 계싼하는 형식으로도 코딩이 가능할까요?
그리구 아예 총합을 초기화 후 다시 출력하는 방식도 가능한지 궁금합니다 ...
if로 넣어서 혼자 만들어보려고했는데 변수가 안만들어지는건지 계속 컴파일 오류가 떠서요 ㅠㅠ
답변 2
0
안녕하세요. Teo님, 공식 서포터즈 y2gcoder입니다.
import java.util.Scanner;
public class ScannerWhileEx3 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int sum = 0;
int count = 0;
int input = 0;
int resetNumber = -1;
int exitNumber = -99999;
System.out.println("숫자를 입력하세요. 결과 출력 후 초기화 하려면 -1을, 종료하려면 -99999를 입력하세요.");
while ((input = scanner.nextInt()) != exitNumber) {
if (input == resetNumber) {
double average = (double) sum / count;
System.out.println("입력한 숫자들의 합계: " + sum);
System.out.println("입력한 숫자들의 평균: " + average);
//초기화
sum = 0;
count = 0;
continue;
}
sum += input;
count++;
}
}
}
간단하게 만들어보았습니다!
종료하는 것도 필요할까 싶어 임의로 -99999가 넣으면 프로그램이 종료되도록 했습니다 🙂
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. Teo님의 질문에 대해, 유사한 상황을 해결하는 기존 답변을 하나 찾았습니다. 질문자분께서는 while loop을 사용해 숫자들의 합과 평균을 계산한 뒤, 특정 조건(-1을 입력)으로 반복을 종료하고자 하시는 것 같습니다. 다음으로 프로그램이 종료되지 않고 새로운 숫자 입력을 기다리며, 이전과 동일한 연산을 반복하고자 합니다.
이와 관련해 다음 답변이 도움이 될 수 있을 것 같습니다:
- “ScannerWhileEx4 변수 질문”: 이 질문에서는 Scanner를 사용한 반복 입력 처리 방법과 변수의 처리에 대한 설명이 있어, 반복문 내에서 변수를 재사용하고 조건에 따라 프로그램의 흐름을 어떻게 제어할 수 있는지에 대한 인사이트를 얻을 수 있을 것 같습니다. 변수를 초기화하는 방법과 조건에 따른 분기처리 방법 등, 질문하신 내용에 대한 해결책을 제공할 수 있습니다.
질문의 핵심은 while loop와 조건문을 사용해 반복적으로 사용자로부터 입력을 받아 합계와 평균을 계산하며, 특정 조건을 만족할 때까지 프로그램을 종료하지 않고 계속해서 입력을 받는 로직의 구현 방법에 대한 것입니다. 이 과정에서 합계를 초기화하거나 이전 계산 결과를 기반으로 다음 계산을 수행하는 방식에 대한 질문이 포함되어 있습니다.
링크된 답변에서는 유사한 문제 상황에 대해 다루고 있으며, 특히 다음과 같은 포인트에 주목하면 좋습니다:
- 변수 초기화 방법
- 반복문 내에서 조건에 따른 흐름 제어
- 사용자 입력 처리와 해당 입력에 따른 로직 분기
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.