티스토리 뷰

코딩/JAVA

학점 계산기(Scanner, if)

ehzim 2023. 10. 16. 12:48
package test;

import java.util.Scanner;

public class test_8 {

	public static void main(String[] args) 
	{
		//국어,영어,수학 점수를 입력 받아서 여러가지를 출력
		//변수 선언
		int kor,eng,math;
		String name;
		Scanner input;
		Scanner input2;
		int total;
		float avg;
		int high=0;
		String subject=null;
		
		//초기화
		input=new Scanner(System.in);
		input2=new Scanner(System.in);
		System.out.println("국어 점수를 입력해주세요 : ");
		kor=input.nextInt();
		System.out.println("영어 점수를 입력해주세요 : ");
		eng=input.nextInt();
		System.out.println("수학 점수를 입력해주세요 : ");
		math=input.nextInt();
		System.out.println("이름을 입력해주세요 : ");
		name = input2.nextLine();
		
		//제어문
		total=kor+eng+math;
		avg=total/3.0f; //avg=(float)total/3;토탈을 f로 캐스팅시킴
		
		System.out.println("총점은 : "+total);
		System.out.println("평균점수는 : "+avg);
		
		//최고점을 찾아라!
		if(high<kor) 
		{
			high=kor;
			subject="kor";
		}
		if(high<eng) 
		{
			high=eng;
			subject="eng";
		}
		if(high<math) 
		{
			high=math;
			subject="math";
		}
		
		System.out.println("최고값의 과목은 : "+subject+ " 최고값은 : "+high);

	}

}

Scanner를 사용하여 점수를 입력 받은 후

총점, 평균점수, 최고값을 구해주었다.

평균 점수를 구할시, int/int를 하면 정수값이 나온다.

하지만 avg를 float으로 데이터타입을 지정하여 입력된 정수에 소숫점을 붙여 점수.0이라는 출력값이 나오게된다.

평균을 실수값으로 나타내고싶을 경우 avg=(float)totla/3; 또는 avg=total/3.0f; 명령어를 입력하여

형변환 시켜 avg 값을 구한다.

 

최고점을 찾는 코드의 경우

high는 0으로 초깃값을 입력 해준 뒤, 첫번째 if문에서 kor의 값과 비교하여 kor값을 high에 입력해준다.

그 후 입력된 high의 값과 비교하여 차례대로 비교해 high 값을 구해준다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday