상세 컨텐츠

본문 제목

[java] 클래스(class) 연습문제 #1

java

by ~지우~ 2021. 6. 28. 16:20

본문

728x90

오늘은 「java_an_introduction_to_problem_solving_and_programming_6th_edition」 362페이지 5번 문제를 풀어보겠습니다.

<문제>

출처: java_an_introduction_to_problem_solving_and_programming_6th_edition

 

각 점수의 퍼센트를 별(*)로 나타내는 코드를 작성해야 합니다.

예를 들어 입력값이 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();
	}

}
728x90

'java' 카테고리의 다른 글

[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

관련글 더보기

댓글 영역