티스토리 뷰
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