티스토리 뷰

 

package test;

import java.util.Scanner;

class sub
{
	float avg(int a, int b, int c) 
	{
		return(a+b+c)/3.0f;
	}
	int total(int a, int b, int c) 
	{
		return a+b+c;
	}
}


public class score 
{

	public static void main(String[] args) 
	{
		int kor;
		int eng;
		int math;
		Scanner input;
		Scanner input2;
		int t;
		float a;
		String name;
		String score;
		sub sb = new sub();
		
		input=new Scanner(System.in);
		input2=new Scanner(System.in);
		name=null;
		
		System.out.println("이름을 입력하세요 : ");
		name=input2.nextLine();
		System.out.println("구하고 싶은 점수를 입력하세요(avg or total) : ");
		score=input2.nextLine();
		System.out.println("국어 점수를 입력하세요 : ");
		kor=input.nextInt();
		System.out.println("영어 점수를 입력하세요 : ");
		eng=input.nextInt();
		System.out.println("수학 점수를 입력하세요 : ");
		math=input.nextInt();
		
		
		if(score.equals("avg")) 
		{
			a=sb.avg(kor,eng,math);
			System.out.printf("%s의 평균 점수는 %d 입니다.",name,a);
		}
		else if(score.equals("total")) 
		{
			t=sb.total(kor,eng,math);
			System.out.printf("%s의 평균 점수는 %d 입니다.",name,t);
		}
		else 
		{
			System.out.println("잘못입력하셨습니다.");
		}
		
	

	}

}

 

 

위의 오류에서 avg를 출력하는 코드라인에서 오류가 발생했다.

평균 점수는 실숫값으로 데이터타입이 float이다.

그렇기 때문에 출력시 지시자 또한 %f 가 되어야한다.

 

 

지시자 설명
%b boolean 형식으로 출력
%d 정수 형식으로 출력(int)
%o 8진수 정수의 형식으로 출력
%x 또는 %X 16진수 정수의 형식으로 출력
(%x는 영어소문자, %X는 영어대문자)
%c 문자형식으로 출력(char)
%s 문자열 형식으로 출력(String)
%n 줄바꿈 기능
%e 또는 %E 지수 표현식의 형식으로 출력
%f 소수점 형식으로 출력

 

'코딩 > 오류 노트' 카테고리의 다른 글

클래스명 중복  (0) 2023.10.20
중괄호 위치에 따른 오류  (0) 2023.10.18
함수명 일치  (0) 2023.10.17
명령어 위치에 따른 오류  (0) 2023.10.13
break;로 인한 오류  (0) 2023.10.12
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday