반응형
# 과제 ex04_01
사용자로부터 이름, 국어, 영어, 수학 데이터를 입력 받고 합계와 평균을 출력하라.
## 실행 결과
```
> java -classpath bin step02.assignment.Test01
이름? 홍길동
국어? 100
영어? 90
수학? 80
-----------
홍길동 100 90 80 270 90.0
>
```
<코드>
package assignment;
public class Test01 {
public static void main(String[] args) {
java.io.InputStream keyboard = System.in; // 'keyboard'라는 이름으로 InputStream 객체를 생성하고 'System.in' 값을 할당.
java.util.Scanner keyScan = new java.util.Scanner(keyboard); // 'keyScan'이라는 이름으로 Scanner 객체를 생성하고 'keyboard' 입력 스트림을 초기화.
System.out.print("이름? "); // 사용자에게 이름 입력을 요구하는 프롬프트를 출력.
String name = keyScan.nextLine(); // 한 줄의 텍스트를 이름으로 입력받습니다.
System.out.print("국어? "); // 사용자에게 국어 점수 입력을 요구하는 프롬프트를 출력.
int kor = keyScan.nextInt(); // 정수로 국어 점수를 입력받습니다.
System.out.print("영어? "); // 사용자에게 영어 점수 입력을 요구하는 프롬프트를 출력.
// 이전의 nextInt() 호출로 인해 입력 스트림에 남아있는 개행 문자를 소비해야 합니다.
int eng = keyScan.nextInt(); // 정수로 영어 점수를 입력받습니다.
System.out.print("수학? "); // 사용자에게 수학 점수 입력을 요구하는 프롬프트를 출력.
int math = keyScan.nextInt(); // 정수로 수학 점수를 입력받습니다.
int sum = kor + eng + math; // 세 과목의 점수 합계를 계산합니다.
float average = sum / 3; // 세 과목의 평균을 계산합니다. (정수 나눗셈)
System.out.println("------------------------------");
// 이름, 각 과목 점수, 합계, 평균을 적절한 레이블과 함께 출력합니다.
System.out.print(name + " " + kor + " " + eng + " " + math + " " + sum + " " + average);
System.out.println(); // 출력을 구분하기 위해 새로운 줄을 출력합니다.
}
}
<컴파일 및 실행결과>
<코드 응용하여 만들기>
사용자에게 3회의 정수를 입력받아 (int *** = keyScan.nextInt 이기 때문)
각 정수를 더하고 평균을 내는 java 파일을 만들어보았다.
반응형