JAVA

[java]성적 처리 프로그램 (Scanner사용)

라텐느 2024. 8. 10. 15:29
반응형

20240809수업

사용자로부터 각 과목의 점수를 입력받아 총점, 평균, 평균을 기준으로 하는 학점을 출력하는 프로그램을 만들어보겠습니다.

Scanner in=new Scanner(System.in)
(in대신 다른 객체이름 사 가능)

cf)System.in은 입력하는 스트림, System.out은 출력하는 스트림

 

입력데이터 : 번호, 국어, 영어, 수학

package ex03;

 

import java.util.Scanner;

 

public class GradeTest {

 

public static void main(String[] args)

자바에서 쓰이는 대부분의 클래스는 import호출해준다.
Scannerjava.util패키지에 있다.

import java.util.Scanner를 package와 public class사이에 삽입해야 Scanner in=new Scanner(System.in)이 작동한다.

       //출력데이터 : 번호, 총점, 평균, 학점
		int tot;
		double avg;
		char grade;
        
		Scanner in=new Scanner(System.in);
        System.out.println("번호를 입력하세요.");
		int num=in.nextInt();
        System.out.println("점수를 입력하세요.");
		int kor=in.nextInt();
		int eng=in.nextInt();
		int mat=in.nextInt();
		
		tot=kor+eng+mat;
		avg=tot/3.0;
		System.out.println("번호: "+num);
		System.out.println("국어: "+kor);
		System.out.println("영어: "+eng);
		System.out.println("수학: "+mat);
		System.out.println("총점: "+ tot+"점");
		System.out.printf("평균: %.2f\n", avg,"점");
		
		if(90<=avg&&avg<=100){
			grade='A';
		}else if(80<=avg&&avg<=89){
			grade='B';
		}else if(70<=avg&&avg<=79) {
			grade='C';
		}else if(60<=avg&&avg<=69) {
			grade='D';
		}else if(0<=avg&&avg<=59){
			grade='F';
		}else {
			grade=' ';
			System.out.println("error");
		}
		System.out.println("학점: " + grade);
		System.out.println("번호 국어 영어 수학 총점 평균 학점");
		System.out.printf(
				"%d    %d   %d   %d   %d   %.2f   %c\n"
				, num, kor, eng, mat, tot, avg, grade);
	}

%.2f:실수를 2번째자리까지 반올림

%2d:정수 2번째 자리까지 출력

/n:줄바꿈(printf는 자동 줄바꿈이 안됨.)

결과

반응형