반응형
//사용자로부터
//이름, 나이, 국어, 영어, 수학 점수를 입력 받아서
//출력하는 프로그램을 작성하세요
//조건1. 사용자가 메뉴에서 종료를 누르기전까지 계속 돌아갑니다.
//조건2. 만약 사용자가 아무런 데이터도 입력하지 않았다면 "입력된 데이터가 없습니다"
// 라고 출력되게 만드세요.
// 조건2는 국어 영어 수학 중 한개의 점수를 올바르지 않은 점수로 초기화하면
// 구현하기 쉽습니다.
//조건3. 만약 사용자가 입력한 점수가 잘못된 형식일 경우 올바른 형태의 점수가 들어올때까지
// 계속 입력을 받도록 하세요
//조건4. 출력할 때에는
// 이름: ~~~ 나이:016세
// 국어: 080점 영어: 079점 수학: 079점
// 총점: 238점 평균: 79.33점
// 으로 출력되게 printf를 만드세요
import java.util.Scanner;
public class Ex17GradeBook {
final static int SUBJECT_NUMBERS = 3;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 이름, 나이, 국어, 영어, 수학은 여기서 선언과 초기화를 해야지만
// while문에서 입력된 값이 유지가 된다.
String name = new String("");
int age = 0;
int korean = -1;
int english = 0;
int math = 0;
while (true) {
System.out.println("1. 입력 2. 출력 3. 종료");
System.out.print("> ");
int choice = scanner.nextInt();
if (choice == 1) {
// 입력하는 코드 구현
scanner.nextLine();
System.out.print("이름: ");
name = scanner.nextLine();
System.out.print("나이: ");
age = scanner.nextInt();
System.out.print("국어: ");
korean = scanner.nextInt();
while (korean < 0 || korean > 100) {
System.out.println("잘못입력하셨습니다.");
System.out.print("국어: ");
korean = scanner.nextInt();
}
System.out.print("영어: ");
english = scanner.nextInt();
while (english < 0 || english > 100) {
System.out.println("잘못입력하셨습니다.");
System.out.print("영어: ");
english = scanner.nextInt();
}
System.out.print("수학: ");
math = scanner.nextInt();
while (math < 0 || math > 100) {
System.out.println("잘못입력하셨습니다.");
System.out.print("수학: ");
math = scanner.nextInt();
}
} else if (choice == 2) {
// 출력하는 코드 구현
if (korean == -1) {
// 아직 아무런 데이터가 입력되지 않았으므로 경고메시지 출력
System.out.println("아직 입력된 데이터가 없습니다.");
} else {
System.out.printf("이름: %s 나이:%03d세\n", name, age);
System.out.printf("국어: %03d점 영어: %03d점 수학: %03d점\n", korean, english, math);
int sum = korean + english + math;
double average = sum / (double) SUBJECT_NUMBERS;
System.out.printf("총점: %03d점 평균: %.2f점\n", sum, average);
}
} else if (choice == 3) {
System.out.println("사용해주셔서 감사합니다.");
break;
}
}
scanner.close();
}
}
반응형
'Dev > Java' 카테고리의 다른 글
Java - 예제 ) 별찍기 02 (0) | 2020.08.12 |
---|---|
Java - 예제 ) 별찍기 01 (0) | 2020.08.12 |
Java - 무한반복문 ( Infinite Loop ) (0) | 2020.08.11 |
Java - 반복문 ( While Loop ) (0) | 2020.08.11 |
Java - 반복문 ( For Loop 02 ) (0) | 2020.08.11 |