개발일지/Java + Spring
[Java] 성적 입출력 - 클래스로 나누기, 소수점 n번째 자리
연습용365
2021. 9. 28. 09:36
지금까지 배운 것으로 성적 입출력을 해봤다.
package Graid;
public class Print {
int tot;
double avg;
String grad;
void print1(String name, int k, int m, int e) {
System.out.println("당신의 이름은 " + name + "입니다.");
System.out.println("국어 성적 : " + k );
System.out.println("수학 성적 : " + m );
System.out.println("영어 성적 : " + e );
}
void tot(int k, int m, int e) {
tot = k + m + e;
System.out.println("총점 : " + tot);
}
void ave() {
avg = tot/3.0;
System.out.println("평균 : " + Math.round(avg*100)/100.0);
}
void grad() {
if(avg>=90) grad = "A";
else if(avg>=80) grad = "B";
else if(avg>=70) grad = "C";
else if(avg>=60) grad = "D";
else grad = "F";
System.out.println("학점 : " + grad);
}
}
package Graid;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("이름을 입력하세요 : ");
String name = sc.next();
System.out.print("국어 성적을 입력하세요 : ");
int kor = sc.nextInt();
System.out.print("수학 성적을 입력하세요 : ");
int mat = sc.nextInt();
System.out.print("영어 성적을 입력하세요 : ");
int eng = sc.nextInt();
System.out.println("-----------------------------");
Print pt = new Print();
pt.print1(name, kor, mat, eng);
System.out.println("-----------------------------");
pt.tot(kor, mat, eng);
pt.ave();
pt.grad();
System.out.println("-----------------------------");
}
}
이름을 입력하세요 : 홍길동 국어 성적을 입력하세요 : 96 수학 성적을 입력하세요 : 97 영어 성적을 입력하세요 : 96 ----------------------------- 당신의 이름은 홍길동입니다. 국어 성적 : 96 수학 성적 : 97 영어 성적 : 96 ----------------------------- 총점 : 289 평균 : 96.33 학점 : A ----------------------------- |
초록색 부분은 입력 부분이고, 출력은 이렇게 된다.
소수점 n번째까지 출력하고 싶다면?
System.out.println("평균 : " + Math.round(avg*100)/100.0);
Math.round() 메소드를 사용하면 됨 (a*100)/100.0 이렇게 넣으면 둘째 자리까지 나온다.