Java 在做一门关于HS代码的课程时,错误会说;二进制运算符“的运算符类型不正确”;对于带有公共空白的行。不确定我是什么';我做错了

Java 在做一门关于HS代码的课程时,错误会说;二进制运算符“的运算符类型不正确”;对于带有公共空白的行。不确定我是什么';我做错了,java,Java,练习指导 在这个练习中,你必须参加分数课 并通过添加一些方便的方法对其进行扩展 public void add(Fraction other) public void subtract(Fraction other) public void multiply(Fraction other) public int getNumerator(); public int getDenominator(); public void setNumerator(int x); public void set

练习指导

在这个练习中,你必须参加分数课 并通过添加一些方便的方法对其进行扩展

public void add(Fraction other)
public void subtract(Fraction other)
public void multiply(Fraction other)
public int getNumerator();
public int getDenominator();
public void setNumerator(int x);
public void setDenominator(int x);
public String toString();
使用FractionTester文件进行测试

注意

public void add(Fraction other)
public void subtract(Fraction other)
public void multiply(Fraction other)
是无效的方法。他们不归还任何东西。这些方法不应创建新分数并返回它

相反,这些方法应该修改要加、减或乘其他分数的实例变量

例如,以下代码:

Fraction first = new Fraction(1, 2);
Fraction second = new Fraction(1, 3);
System.out.println();

System.out.println("BEFORE:");
System.out.println("first: " + first);
System.out.println("second: " + second);

first.multiply(second);

System.out.println("AFTER:");

System.out.println("first: " + first);
System.out.println("second: " + second);
应打印:

之前: 第一:1/2 第二:1/3

之后: 第一:1/6 第二:1/3 第一个分数通过乘以第二个分数进行修改。第一个受到影响,第二个没有。1/2变成了1/6,因为它乘以了1/3

这是我的代码:

public class Fraction
{
    // Create your instance variables and constructor here

    //Instance variables
    private int num;
    private int den;

    //Constructor
    public Fraction(int nume, int dene)
    {
        num = nume;
        den = dene;
    }


    public void add(Fraction other) 
    {
        Fraction a = num/den + other;
    }

    public void subtract(Fraction other) 
    {
        Fraction b = num/den - other;
    }

    public void multiply(Fraction other) 
    {
        Fraction c = num/den * other;
    }

    public String toString() 
    {
        return "";
    }
}

不能将
int
(例如den或num)直接与
分数
对象相乘。您需要
dereference
传递的分数参数,然后更新
调用实例
den
num
组件

这个

需要用这个来代替

public void multiply(Fraction other)  {
        num = num * other.num;
        den = den * other.den;
 }

当你进行加法或减法运算时,你需要找到公分母。

你不能只乘以分数实例。你需要取消num和den的限制。去掉问题中不需要产生特定错误的所有部分。参见指导原则——也如指导原则中所述,询问您在做作业时遇到的问题,而不是询问您的作业本身。谢谢!这确实奏效了,我能想出加减法。
public void multiply(Fraction other)  {
        num = num * other.num;
        den = den * other.den;
 }