Java 复数类

Java 复数类,java,c++,python,Java,C++,Python,我有一个作业要交,但我很难理解作业到底要求我做什么,或者如何去做。我知道复杂的数字是什么,但是我不理解C++和Python版本应该做的操作: op: Complex × Complex → Complex op: Complex × double → Complex op: double × Complex → Complex 双份的?我不明白这是怎么回事。同样,python版本应该将复数转换为字符串,我也不明白它在问什么。它是说将复数(整数?)转换成字符串数据类型吗?请让我知道你是否可

我有一个作业要交,但我很难理解作业到底要求我做什么,或者如何去做。我知道复杂的数字是什么,但是我不理解C++和Python版本应该做的操作:

op: Complex × Complex → Complex 
op: Complex × double → Complex 
op: double × Complex → Complex 
双份的?我不明白这是怎么回事。同样,python版本应该将复数转换为字符串,我也不明白它在问什么。它是说将复数(整数?)转换成字符串数据类型吗?请让我知道你是否可以帮助我理解作业的要求,这样我就可以尝试编程了

复数类

设计C++、java和python中的一个类,表示复杂的 编号并支持重要操作,如加法, 减法、乘法和除法。对于C++和Python 版本您将需要为每个版本实现以下功能 操作:

op: Complex × Complex → Complex
op: Complex × double → Complex  op:
double × Complex → Complex
其中op是+、-、*、或/中的一个。在里面
此外,您将需要重载流插入操作符转换为字符串只是为了以人类可读的形式显示数字。这是在rational类中:
return“(“+num+”/“+den+”)例如打印
(5/8)
。您的复杂类可以使toString方法输出
(5+8i)

将一个复数乘以一个数字(double)是一个有效的操作,它会产生另一个复数

将复数乘以实数:

(x + yi) u = xu + yu i.
使用他给出的代码,您完成了一个有理数(定义为两个数num和den)的完全相同的赋值。您需要使代码适应复数,复数也被定义为一对数字

PS提示:

我不明白这是怎么回事

我假设它是一个普通的
浮点值,而不是一个复数值

同样,python版本应该将复数转换为字符串,我也不明白它在问什么

我假设,使用字符串而不是名为Complex的自定义类

它是说将复数(整数?)转换成字符串数据类型吗


除非你知道其他情况,否则我会这样认为。

一个复数包含一个实部和一个虚部,两者都存储为双精度。既然你说你已经知道了这些,我就不详细介绍了,但是通过谷歌快速搜索,你会发现很多你想要的复数类的Java实现

是我以前使用过的一个例子,它符合您的要求:

public Complex times(Complex b)
public Complex times(double alpha)
这些方法将采用复数或阿尔法应用于实部和虚部,并返回复数

至于python字符串部分,我想他想让你取实部和虚部,用人类可读的形式来表达它们:字符串

希望我能帮忙
当任务规定

op:复数×复数→ 复杂的 运算:复×双→ 复杂操作: 双×复形→ 复杂的 其中op是+、-、*、或/中的一个

这意味着您必须实现复数对之间以及实数和复数混合对之间的所有二进制操作。例如

*:复数×双精度→ 复杂的

你应该这样写:

Complex operator*(Complex z, double t) {
  return Complex(t * z.Real(), t * z.Imag()); 
}

你对复数有足够的了解,知道这些运算是如何工作的吗?在
c++
中,
double
是实数的一种,因此我们可能打算使用它来存储复数的实部和虚部。你可能需要仔细阅读。你真的需要写3种不同的版本吗(用3种不同的语言)?我想你把分数
q/r
和复数
a+bi
搞混了。我想你需要选择一种语言,因为每种语言的答案都会大不相同。我需要用所有3种语言来写:[是哪一个?您想实现复数还是有理数?因此,任务要求java版本只处理复杂的操作,而C++/python则处理不仅涉及复数而且涉及复数和实数(双精度)的操作?您可以用所有语言来实现,在Java中,它看起来像:
public Complex mul(double u){…}
。仍然无法理解op:Complex Complex提出的问题→ 复op:Complex×double→ 复数op:double×复数→ C++和Python版本的复合。是我提供的代码的设置,应该如何操作?它还说:“你需要重载流插入操作符。
Complex operator*(Complex z, double t) {
  return Complex(t * z.Real(), t * z.Imag()); 
}