У меня возникли проблемы с выяснением, почему строка кода , в которой говорится, что Fraction Interface f = etc ... не работает. Проблема заключается в .denominator и .numerator. Кажется, что я не должен реализовывать методы get. Итак, как я собираюсь получить доступ к знаменателю и числителю aFraction?Интерфейс Java в проекте с участием фракций
Ниже вы также видите методы в интерфейсе. Большое спасибо.
public class Fraction implements FractionInterface, Comparable<Fraction> {
private int numerator;
private int denominator;
public Fraction()
{
numerator = 0;
denominator = 1;
}
public Fraction(int num, int den)
{
numerator = num;
denominator = den;
}
public FractionInterface add(FractionInterface aFraction)
{
// return a new Fraction object
// a/b + c/d is (ad + cb)/(bd)
// implement this method!
// WHY .denominator and .numerator do work ?
FractionInterface f = new Fraction((numerator*aFraction.denominator))
+ (aFraction.numerator * denominator) , (denominator *aFraction.this.denominator));
return f
}
}
public interface FractionInterface {
/** Task: Sets a fraction to a given value.
public void setFraction(int num, int den);
public double toDouble();
public FractionInterface add(FractionInterface aFraction);
public FractionInterface subtract(FractionInterface aFraction);
public FractionInterface multiply(FractionInterface aFraction);
public FractionInterface divide(FractionInterface aFraction);
public FractionInterface getReciprocal();
}
На крыле попробуйте установить для них различные модификаторы доступности, например, замените их на 'public' – Michael
« Не работает »означает что? Добавьте stacktrace. Вы используете aFraction.this.denominator - измените это на aFraction.denominator. – Fildor