자바에 관한 질문 있습니다.
승아
public class fraction
{
private int nus = 1;
private int des = 1;
public fraction(int nus,int des)
{
this.nus = nus;
this.des = des;
}
public fraction()
{
}
public int getnus()
{
return this.nus;
}
public void setnus(int nus)
{
this.nus = nus;
}
public int getdes()
{
return this.des;
}
public void setdes(int des)
{
if(des != 0)
{
this.des = des;
}
}public float getfraction()
{
return (float)nus/(float)des;
}
public static void main(String args[])
{
//faction f = new fraction(3,0);
fraction f = new fraction();
f.fraction(3,2);
System.out.println(f.getfraction());
}
}
을 책 따라 하고 있는데요public static void main(String args[])
{
//faction f = new fraction(3,0);
fraction f = new fraction();
f.fraction(3,2);
System.out.println(f.getfraction());
}부분을
public static void main(String args[])
{
faction f = new fraction(3,0);
//fraction f = new fraction();
//f.fraction(3,2);
System.out.println(f.getfraction());
}
게 바꾸니 되는데 위에 처럼 하면 않되네요.
왜 그런지?
fraction f = new fraction();
f.fraction(3,2);
문법대로라면 f가 fraction 클래스를 가리치고
f.fraction(3,2);을 호출하는것은데... 맞는것 아닌가요?
초보라서...답변 달아주시면 감사하겠습니다.
-
찬바리 2024-02-11
프로그램 상에 setdes() 메소드를 보시면 0을 설정할 수 없게 되어있습니다.
getfraction()이 부분에서 나누기를 하는데 0으로 나눌수는 없으니까요^^
faction f = new fraction(3,0); 이부분을
faction f = new fraction(3,다른숫자); 로 바꿔보시면 되실듯..
단지 책을 보고 하시는게 아니라... 프로그램을 이해하며 하시면.. 좀더 수월하게 하실수있을꺼에요^^