오늘은 「java_an_introduction_to_problem_solving_and_programming_6th_edition」 362페이지 5번 문제를 풀어보겠습니다.
<문제>
각 점수의 퍼센트를 별(*)로 나타내는 코드를 작성해야 합니다.
예를 들어 입력값이 1 A, 4 B, 6 C, 2 D, 1 F 일때 각 숫자에 7을 곱하고 2로 나눈 후 올림한 것이 별(*)의 갯수가 됩니다.
Math.ceil 을 사용하면 올림을 할 수 있습니다.
public class Grade {
private double a,b,c,d,f;
public void setGrade(int a, int b, int c, int d, int f) {
this.a = a;
this.b = b;
this.c = c;
this.d = d;
this.f = f;
}
public double getTotalGrade() {
return a+b+c+d+f;
}
public void barGraph() {
int aPercentage = (int) Math.ceil((7*a)/2);
int bPercentage = (int) Math.ceil((7*b)/2);
int cPercentage = (int) Math.ceil((7*c)/2);
int dPercentage = (int) Math.ceil((7*d)/2);
int fPercentage = (int) Math.ceil((7*f)/2);
System.out.println("0 10 20 30 40 50 60 70 80 90 100");
System.out.println("| | | | | | | | | | |");
System.out.println("**************************************************");
for(int aPer = 0; aPer<aPercentage; aPer++)
System.out.print('*');
System.out.print('A');
System.out.println();
for(int bPer = 0; bPer<bPercentage; bPer++)
System.out.print('*');
System.out.print('B');
System.out.println();
for(int cPer = 0; cPer<cPercentage; cPer++)
System.out.print('*');
System.out.print('C');
System.out.println();
for(int dPer = 0; dPer<dPercentage; dPer++)
System.out.print('*');
System.out.print('D');
System.out.println();
for(int fPer = 0; fPer<fPercentage; fPer++)
System.out.print('*');
System.out.print('F');
System.out.println();
}
}
이 클래스를 메인함수에서 실행시켜보겠습니다.
package myPackage;
import java.util.Scanner;
public class GradeDemo {
public static void main(String[] args) {
System.out.println("Enter grades: ");
Scanner keyboard = new Scanner(System.in);
int inputA, inputB, inputC, inputD, inputF;
inputA = keyboard.nextInt();
inputB = keyboard.nextInt();
inputC = keyboard.nextInt();
inputD = keyboard.nextInt();
inputF = keyboard.nextInt();
Grade g = new Grade();
g.setGrade(inputA, inputB, inputC, inputD, inputF);
double totalGrade = g.getTotalGrade();
g.barGraph();
keyboard.close();
}
}
[java] 상속(Inheritance) 연습문제 (0) | 2021.07.07 |
---|---|
[java] 배열 연습문제 #2 (0) | 2021.07.06 |
[java] 배열 연습문제 #1 (0) | 2021.07.05 |
[java] 클래스(class) 연습문제 #3 (0) | 2021.07.03 |
[java] 클래스(class) 연습문제 #2 (0) | 2021.06.29 |
댓글 영역