gpt4 book ai didi

java - 有没有办法将数字(在我的例子中是 double )转换为java中的复数?

转载 作者:行者123 更新时间:2023-12-01 23:57:51 24 4
gpt4 key购买 nike

我需要 double 的实部和虚部进行进一步处理,但我几乎不知道如何将它们转换为复数。任何意见将不胜感激..

最佳答案

Java 没有复数类型。

要存储/表示复数,您必须:

  • 创建您自己的类型
  • 使用变量(即 Re、Im)
  • 或使用第三方库

此外,就将 double “转换”为复数而言, double 显然只能表示复数的虚部或实部。所以你必须更具体地表达你的意思。如果您想将 double 转换为实部等于 double 且虚部等于 0 的复数。那么这应该非常简单..

如果您想创建自己的类型,它可能如下所示:

class ComplexNumber{
public ComplexNumber(double re, double im)
{
_re = re;
_im = im;
}

private double _re;
public double getReal(){
return _re;
}
private double _im;
public double getImaginary(){
return _im;
}

@overrides
public boolean equals(object other){
if(other == null)
return false;
ComplexNumber n = (ComplexNumber)other;
return _re.equals(n._re) && _im.equals(n._im);
}

@overrides
public boolean getHashCode(){
return _re.getHashCode() ^ _im.getHashCode();
}

@overrides
public void toString(){
return "(" + re.toString() + "," + im.toString() + ")";
}
}

请注意,此类具有不可变语义(即,一旦实例化,您就无法修改它的内部状态)。如果您要表示复数,这是理想的选择。然后你可以使用静态方法来加/减/乘/除这些复数。

关于java - 有没有办法将数字(在我的例子中是 double )转换为java中的复数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15315540/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com