왜 Double일까요?

반평균을 구하는 문제인데요
음 먼저 변수들은 이렇게
int gradeCounter=0,gradeValue,total=0,i=0;

double average;

.......

average=(double)total/gradeCounter;
ㅡㅡa;;

folat average; 로 선언하면 안되나요? test에서는잘돌아가던데 ^^;

제생각에는 점수가 많이 나와봐야 거기서 거기인데 평균점수인데다가 그리고

folat가 공간을 더 적게 잡아먹는다고 생각하거든요 ^^

특별하게 double를 선언한 이유가 있을까요? ㅎㅎ;;

참 참고로 average에 대한 포맷은

DecimalFormat digits =new DecimalFormat(0.00);

입니당
ps...궁금해하시는 저와같은 초보분을 위해서 소스도 같이 올려놓을께요 ^^

학생수를 입력받아서 학생수만큼의 점수를 입력받고 반평균을 구하는 소스입니다.

그럼 아자 아자 화이팅~~
//테스트 WhileTest.java
import javax.swing.JOptionPane;
import java.text.DecimalFormat;

public class WhileTest {
public static void main(String args[])
{
int gradeCounter=0,gradeValue,total=0,i=0;
float average; //저는 여기서 Float로 선언했어요제가보는책에는 double로되어있네요
String input;

input = JOptionPane.showInputDialog(학생수를 입력하세요);
gradeCounter = Integer.parseInt(input);

while(igradeCounter)
{
input=JOptionPane.showInputDialog(점수를 입력하세요);
gradeValue=Integer.parseInt(input);
i++;
total += gradeValue;
}

DecimalFormat digits=new DecimalFormat(0.00);

if(gradeCounter != 0)
{

//요기 아래부분에도 저는 float로만들었어요 본책에서는double로 선언되었던데 ^^

//위쪽에서 선언을double로 했다면 여기서float로 해도 에러는 안나요 Double가

//싸이즈가 더크기 때문인거 같네요 하지만 반대루하면 에러가 나요

//32리터의 물통에 64리터 물을 넣을 수가 없잔아요
average = (float)total/gradeCounter;

JOptionPane.showMessageDialog(null,
반평균: +digits.format(average),반평균구하기,
JOptionPane.INFORMATION_MESSAGE);
}
else
{//이것은 하지 않아도 되지만 보기 좋게 하기위해서 사용하였음.
JOptionPane.showMessageDialog(null,
학생수를 입력하지 않았습니다.,반평균구하기,
JOptionPane.INFORMATION_MESSAGE);
}

System.exit(0);
}
}

댓글 2

  • 딥보라 2025.12.28

    히힛 ~~ ^^ 헤~~ ㄳㄳ

  • 탄성 2025.12.28

    특별한 이유가 없다에 한표입니다. -_- float 쓰는것도 상관없겠는데요..
    자바의 부동소숫점형 기본이 double 라서 그랬나? 쩝;;;

프로그램 개발일반 다른 글

목록