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;
}