
package ex0217.method;
import java.util.Scanner;
public class Homework01 {
public static void main(String[] args) {
boolean state = true;
Scanner sc = new Scanner(System.in); //스캐너생성
total t = new total(); //와일문 밖에서 최초 지정하기 //생성되면서 초기화된다.
while(state) {
System.out.println(" 1.성적표 | 2.종료 ");
System.out.print("입력해주세요.> ");
int menuNum = Integer.parseInt(sc.nextLine());
switch(menuNum) {
case 1:
System.out.print("이름,국,영,수 점수 입력해주세요.");
String name = sc.nextLine();
int kor = sc.nextInt();
int eng = sc.nextInt();
int mat = sc.nextInt();
t.result(name, kor, eng, mat);
case 2:
System.out.print("성적표를 종료합니다.");
//sc.close();
System.exit(0); //마지막케이스에선 브레이크빼고!!중요
default :
System.out.println("다시 성적표탭을 선택해주세요.");
// printf로 줄맞춰서 표만들기
}//스위치끝
System.out.println();
}//와일문끝
System.out.println("시험종료를 축하합니다.다음 학기를 위한 준비를 시작하세요!");
}
}
class total {
/**
* 합구하기
* @param kor
* @param eng
* @param mat
* @return
*/
private int sum(int kor, int eng, int mat) {
int s = kor+eng+mat;
return s; ///보이드빼고는 모두 리턴필수!!!
}
/**
* 평균구하기
* @param s
* @param n
* @return
*/
private double avg(int s, int n) {
double avg= (double)s/n;
return avg;
}
/**
* 등급구하기
* @param g
* @return
*/
private String grade(double g) {
return switch((int)(g/10)) {
case 10,9 -> "A";
case 8 -> "B";
case 7 -> "C";
case 6 -> "D";
default ->"F";
};
}
/**
* 출력
* @param name
* @param kor
* @param eng
* @param mat
*/
public void result(String name, int kor, int eng, int mat) {
//호출 메서드를 최종에 만든다
//총점호출
int kk = this.sum(kor, eng, mat);
//총점인수로 전달 평균구하기
double jj = avg(kk,3);
//평균인수로 등급구하기
String ll = this.grade(jj);
System.out.println(name+" 학생의 총점은 " +kk+"입니다.\n평균은 "+jj+"점 이고,"+ll+"등급입니다");
}
}
//성적클래스, 메인메서드클래스 따로 2개만들기
//메서드 4개 만들어 각각 불러서 쓴다.
//총점(은닉), 평균(은닉), 등급(은닉), 출력(퍼블릭)
//키워드 입력받는거////통장형태< scanner.nextInt
//소수점자리 82.3333333333 *100 8233.3333 > int 캐스팅 8233 > /100.0 >