예제
사용자로부터 번호, 이름, 국어,영어,수학 점수를 입력 받아
다음과 같은 양식으로 출력해주는 프로그램을 만드시오.
번호 : ##번 이름: ####
국어: 0##점 영어:0##점 수학 0##점
총점: 0##점 평균 0##.##점
단, 입력기능과 출력기능을 분리하여
사용자가 입력을 선택했을 때에만 입력을 하게되고
사용자가 출력을 선택했을 때에만 출력을 하게 하는 프로그램을 만드시오.
또한 사용자가 잘못된 점수를 입력했을 경우,
올바른 점수를 입력할때까지 다시 입력 받도록 하세요.
생각해볼것 : 변수의 선언위치
심화문제: 만약 사용자가 아무런 정보를 입력없이 출력을 누르면
"아직 아무런 입력이 되지 않았습니다."
라는 메세지만 출력되게 프로그램을 작성하시오.
package day0305;
import java.util.Scanner;
public class GradeBook01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//번호 입력
System.out.println("번호를 입력해 주세요.");
System.out.print(">");
int num = scanner.nextInt();
//이름 입력
scanner.nextLine();
System.out.println("이름을 입력해주세요");
System.out.print(">");
String name = new String(scanner.nextLine());
//점수 입력
//영어
System.out.println("영어 점수를 입력해 주세요.");
System.out.print(">");
int eng = scanner.nextInt();
while(!(eng > 0 && eng <= 100)) {
System.out.println("잘못 입력하셨습니다.");
System.out.println("다시 입력해주세요");
System.out.print(">");
eng = scanner.nextInt();
}
//국어
System.out.println("국어 점수를 입력해 주세요.");
System.out.print(">");
int kor = scanner.nextInt();
while(!(kor > 0 && kor <= 100)) {
System.out.println("잘못 입력하셨습니다.");
System.out.println("다시 입력해주세요");
System.out.print(">");
kor = scanner.nextInt();
}
//수학
System.out.println("수학 점수를 입력해 주세요.");
System.out.print(">");
int mat = scanner.nextInt();
while(!(mat > 0 && mat <= 100)) {
System.out.println("잘못 입력하셨습니다.");
System.out.println("다시 입력해주세요");
System.out.print(">");
mat = scanner.nextInt();
}
//총점 계산과 평균 계산
int sum = kor + eng + mat;
double average = sum / 3.0;
//정보 출력
System.out.printf("번호: %03d번 이름: %s\n", num, name);
System.out.printf("국어: %03d번 영어: %03d 수학: %03d\n", kor, eng, mat);
System.out.printf("총점: %3d점 평균: %06.2f점", sum, average);
scanner.close();
}
}
<잘못된 입력값을 넣었을때 while 문이 반복된다.>
'JAVA > 국비 공부' 카테고리의 다른 글
3월5일수업(GradeBook02-Answer) (0) | 2021.03.05 |
---|---|
3월5일 수업(Validation) (0) | 2021.03.05 |
3월5일 수업(메뉴 만들기) (0) | 2021.03.05 |
3월5일 수업(무한루프) (0) | 2021.03.05 |
3월5일수업(while02) (0) | 2021.03.05 |