2013-02-01 132 views
0

我创建了一个类,该类设计为取2个分数,每个分数都有一个分子和分母,然后添加它们,输出另一个分数。Java-调用方法的调用实例?

当我编译程序,我得到一个涉及问题:

分数F3 =新Fraction.add(F1,F2);在main方法

错误:类型比$添加未找到

如果我做的一切一类的程序将运行,但我希望所有的方法,以严格的Fraction类和调用UseFraction类中的分数。

import java.io.*; 
import java.util.*; 
import java.text.*; 


public final class Fraction 
{ 
    private int numerator, denominator; 

    public Fraction (int numerator, int denominator) throws IllegalArgumentException 
    { 
     this.numerator = numerator; 

     if (denominator == 0) 
     { 
      throw new IllegalArgumentException(); 
     } 
     this.denominator = denominator; 
    } 


    //As an instance method 
    public void add (Fraction F) 
    { 
     this.numerator = this.numerator * F.denominator + this.denominator * F.numerator; 
     this.denominator = this.numerator * this.denominator; 
    } 


    //As a static method 
    public static Fraction add (Fraction F1, Fraction F2) 
    { 
     return new Fraction (F1.numerator * F2.denominator + F1.denominator * F2.numerator, F1.numerator); 
    } 


    //@ Override 
    public String toString() 
    { 
     return (this.numerator + "/" + this.denominator); 
    } 

} 



public class UseFraction 
{ 

    public static void main (String str[]) throws IOException 
    { 
     BufferedReader stdin = new BufferedReader (new InputStreamReader (System.in)); 

     Fraction F1 = new Fraction (5, 7); // first fraction constructor 
     Fraction F2 = new Fraction (3, 8); // second fraction constructor 
     Fraction F3 = new Fraction.add (F1, F2); // addition 

     System.out.println ("The sum is " + F3); 

    } 
} 

回答

3

使用Fraction.add(F1, F2),不new Fraction.add

0
Fraction F3 = new Fraction.add (F1, F2); 

将其更改为:

Fraction F3 = Fraction.add (F1, F2); 
1
Fraction F3 = new Fraction.add (F1, F2); // addition 

如果这只是:

Fraction F3 = Fraction.add (F1, F2); // addition