当前位置: 首页 > 知识库问答 >
问题:

如何在java中创建int.getRed()这样的方法?

东郭淇
2023-03-14

我正在用java制作一个虚数图形计算器(使用bi={a,b}),并希望为 - * / 和^运算符制作新函数,因为它们不适用于双[]变量。我知道如何制作普通的方法,比如File(),但是我在做像int.getRed()这样的事情时遇到了麻烦。这是我的加法代码

private static double[] CPlusC(double[] a, double[] b) {
    double aN = a[1] + b[1];
    double bN = a[2] + b[2];
    double[] ansN = {aN,bN};
    return ansN;
}

我的添加部分是正确的,我只是找不到任何让函数更“逼真”的东西,比如double[]。cpluc(double[])有人能帮我吗?一旦我弄明白这一点,我应该知道如何做其他的。非常感谢!

共有1个答案

巫欣荣
2023-03-14

正如我在评论中提到的,您不能像在静态编程语言或C#中那样创建扩展方法。

但首先,你不应该使用double[]来处理复数。更好的方法是创建自己的复杂类,该类包含计算所需的所有必要方法。

你的类可以看起来像这样:

public class Complex {
    private final double re;
    private final double im;

    public Complex(double re, double im) {
        this.re = re;
        this.im = im;
    }

    // getters and other methods

    public Complex add(Complex other) {
        double addedRe = getRe() + other.getRe();
        double addedIm = getIm() + other.getIm();
        return new Complex(addedRe, addedIm);
    }

    public String toString() {
        String op = (im < 0 ? "-" : "+");
        return re + " " + op + " " + im + "i";
}

然后你可以进行如下计算:

Complex c1 = new Complex(0, 1);
Complex c2 = new Complex(2.5, 1.3);
Complex c3 = c1.add(c2);
System.out.println(c3) // 2.5 + 2.3i
 类似资料:
  • 问题内容: 我有以下方法: 我想使其成为一种通用方法,这样我就不必为每个新的自定义类型编写新的代码。我可以这样做,这需要在调用update()之前实例化该对象: 出于好奇,我想知道是否有一种方法可以使用Java泛型来做到这一点: 有没有办法用Java做到这一点? 问题答案: 请注意,在这种情况下将可以修复。任一(其本身包括可从获得)或本身已得到通过。

  • 问题内容: 我的任务是编写一个询问用户输入的程序,该方法将返回输入是否形成幻方。无论我输入到控制台什么,程序都会返回我输入了一个魔术方块。我想念什么? 幻方定义:如果行,列和对角线的总和相同,则二维数组就是幻方。 问题答案: 您没有保存输入的内容,因此将0x0 square传递给。 许多方面的实现是错误的。 条件应该是。 您只需要在计算完成后检查即可。 您必须先进行初始化,然后再计算它们。 您应该

  • 请指导我如何将所有这些转换为asynctask方法。我必须在asynctask中生成这段代码,因为在uithread中调用它时,它给出了一个null值。请告诉我如何实现这一点的正确方法。我看到了很多关于stackoverflow的问题,但我无法做到这一点。 我看到了以下问题: 如何修复android.os.NetworkOnMainThreadException? android.os.Netwo

  • 所以lv在“v”或“v”后面会有一个“_”,在那之后会有一个整数,比如“_v1”,“_v2”,所以在结尾会是一个整数,但不是任何整数,它应该是整数a。谢谢!

  • 我知道Stack Overflow上有无数的HeapSort方法,但是没有一个方法一定能帮助我完成我正在做的事情。 我有点想法什么是堆,我只是不知道如何获取这些值并将它们分类以将它们存储到数组中。 因此,我的指令如下:静态堆排序(Comparable[],int)方法应该对数组执行“就地”排序(从最低值到最高值)。第二个参数指示数组中填充元素的数量。若要“将 [数组] 本身视为最大堆”,此方法可以

  • 在正方形应该移动的地方初始化。KeyListener继承自GameAssistant(JFrame是用KeyListener创建的) }