首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java中的高斯类

java中的高斯类
EN

Stack Overflow用户
提问于 2015-06-01 02:27:50
回答 3查看 418关注 0票数 4

我正在制作一个模拟高斯整数的类。我在加法中使用一个构造函数来添加gInt的两个部分,然后返回一个新的gInt,即和。但是,由于某种原因,当我试图实现这个方法时,gInt说,当我初始化新的gInt时,它是必需的,并且它发现了一个空值。为什么会这样?我已经包含了下面的类,并指出了导致此错误的行。

代码语言:javascript
复制
public class gInt {

    private int real;
    private int imag;



    public void gInt(int r)
    {
        imag=0;
        real=r;

    }

    public void gInt(int r, int i)
    {
        real=r;
        imag=i;

    }

    gInt add(gInt rhs)
    {
        gInt added;
        int nReal=this.real+rhs.real;
        int nImag=this.imag+rhs.real;

        added= gInt(nReal,nImag);   //--> Says it requires a gInt and found a void

        return added;
    }
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-06-01 02:30:51

使用此实现,所有人都会高兴的:

代码语言:javascript
复制
public class GInt {

    private int real;
    private int imag;

    public GInt(int r) {
        imag=0;
        real=r;
    }

    public GInt(int r, int i) {
        real = r;
        imag = i;
    }

    GInt add(GInt rhs) {
        GInt added;
        int nReal = this.real + rhs.real;
        int nImag = this.imag + rhs.real;

        added = new GInt(nReal, nImag);

        return added;
    }
}

评论:

  • 不要使用以小写字母开头的类名(例如,gInt而不是GInt)
  • Java中的构造函数在Java中没有返回类型,因此我在OP中删除了void类型。
  • 您需要new操作符来创建一个新的GInt对象
票数 1
EN

Stack Overflow用户

发布于 2015-06-01 02:31:29

您的没有在类的构造函数上指定返回类型。您的构造函数应该如下所示:

代码语言:javascript
复制
public gInt(int r)
{
    imag=0;
    real=r;

}

public gInt(int r, int i)
{
    real=r;
    imag=i;

}

注意我是如何在方法名称前面删除void的。

创建类的新实例时,还必须使用new 关键字关键字

代码语言:javascript
复制
added= new gInt(nReal,nImag);

有关如何在Java中创建对象的更多信息,看一看医生

票数 3
EN

Stack Overflow用户

发布于 2015-06-01 02:43:18

构造的函数不能使用void,而使用added = new gInt(nReal,nImag);可能不喜欢,您可以使用added = new gInt.gInt(nReal,nImag); gInt是一个对象,您需要创建,然后可以使用对象!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30564836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档