[英]Java- issue calling instances of methods?
我创建了一个类,该类设计为取2个分数,每个分数都有一个分子和分母,然后将它们相加,输出另一个分数。
当我编译程序时,我遇到一个问题,涉及:
分数F3 =新的Fraction.add(F1,F2); 在主要方法
错误: 找不到类型Fraction $ add
如果我将所有内容都设为一个类,则该程序将运行,但我希望所有方法都严格位于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);
}
}
使用Fraction.add(F1, F2)
,而不要使用new Fraction.add
。
Fraction F3 = new Fraction.add (F1, F2); // addition
这应该仅仅是:
Fraction F3 = Fraction.add (F1, F2); // addition
?
Fraction F3 = new Fraction.add (F1, F2);
更改为:
Fraction F3 = Fraction.add (F1, F2);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.