2015-01-26 3 views
3

하나 개의 클래스에서 사용자 입력을 얻을 수 있습니다 :는 어떻게 다음 코드가 다른

public static void main (String args[]) 
    { 
     Scanner reader = new Scanner(System.in); 
     System.out.println("Enter a Numerator"); 
     int num =reader.nextInt(); 
     System.out.println("Enter a Denominator"); 
     int den =reader.nextInt(); 

     System.out.println("Enter a Numerator and a Denominator"); 
     Rational r = new Rational(num,den); 
     System.out.println(r.getRational() + " equals " +r.getDecimal()); 


    } 
} 

class Rational 
{ 


    double getNum() 
    { 
     return num; 
    } 


    double getDen() 
    { 
     return den; 
    } 

    //getDecimal 
    double getDecimal() 
    { 
     double r = num/den; 
     return r; 
    } 


    String getRational() 
    { 
     return getNum()+"/"+getDen(); 
    } 



     private int getGCF(int n1, int n2) 
     { 
      int rem = 0; 
      int gcf = 0; 
      do 
      { 
       rem = n1 % n2; 
       if (rem == 0) 
       gcf = n2; 
       else 
       { 
        n1 = n2; 
        n2 = rem; 
       } 
      } 
      while (rem != 0); 
      return gcf; 
     } 
} 

코드의 목적은 사용자가 분자와 분모를 입력 할 수있다. 그러면 프로그램이 나누어 방정식에 대한 답을 줄 것입니다. 제가 도움이 필요한 것은 코드 읽기 라인에 오류가 계속 발생하고 있습니다 : Rational r = new Rational(num,den). 나는 이유를 모른다.

+1

오류는 무엇이라고 말합니까? – Dima

+0

그 클래스에서 num, den 및 calls set set 함수를 사용하는 Rational 클래스의 생성자가 필요한 것처럼 보입니다. –

+0

당신은'Constructors와 JAVA에서 접근 수정 자에 대해 더 읽어야한다. ' – jfun

답변

0

Rational -Class에서 생성자를 설정하는 것을 잊었습니다.

Rational r = new Rational(num,den); 

하지만 표준 생성자 Rational()이 : 당신과 함께 개체를 시작하려고합니다. 당신이 다음 this.numthis.den하여 생성자 잘 살고 객체를 얻기 위해 사용해야 -Class 당신의 Rational

private int num =0; 
private int den =0; 
public Rational(int unum, int uden){ 
    this.num = unum; 
    this.den = uden; 
} 

: 당신이 construcotr를 추가해야이 생성자 호출 할 수 있음을 달성하기 위해.