我创建了一个类,它被设计成接受两个分数,每个分数都有一个分子和分母,并将它们相加,输出另一个分数。
当我编写程序时,我会遇到一个问题,涉及:
分数F3 =新的Fraction.add (F1,F2);在主要方法中
错误:未找到类型分数$add
如果我让所有的东西都是一个类,程序就会运行,但是我希望所有的方法都严格地在分数类中,并调用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); 
    }
}发布于 2013-02-01 17:41:42
使用Fraction.add(F1, F2),而不是new Fraction.add。
发布于 2013-02-01 17:44:50
Fraction F3 = new Fraction.add (F1, F2); // addition这是否应该是公正的:
Fraction F3 = Fraction.add (F1, F2); // addition发布于 2013-02-01 17:42:40
Fraction F3 = new Fraction.add (F1, F2);改为:
Fraction F3 = Fraction.add (F1, F2);https://stackoverflow.com/questions/14651972
复制相似问题