Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java需要关于构造函数的帮助_Java_Constructor - Fatal编程技术网

Java需要关于构造函数的帮助

Java需要关于构造函数的帮助,java,constructor,Java,Constructor,我的任务(立即编辑全部任务) 使用上面定义的属性创建一个类Punt(坐标需要用x和y值定义。选择正确的数据类型) 为类Punt创建2个构造函数 一个不接受任何参数并将其初始化为(0,0)的构造函数 一个接受两个参数x和y坐标的构造函数这一个必须初始化为x和y值,并将其各自的值作为参数 在类Punt中生成打印坐标的print()方法。 •通过在名为main的main()类中执行以下操作来测试Punt类。 o使用不带参数的构造函数从Punt生成一个对象。 o使用另一个构造函数(具有2个参数的构造函

我的任务(立即编辑全部任务)

  • 使用上面定义的属性创建一个类Punt(坐标需要用x和y值定义。选择正确的数据类型)
  • 为类Punt创建2个构造函数
  • 一个不接受任何参数并将其初始化为(0,0)的构造函数
  • 一个接受两个参数x和y坐标的构造函数这一个必须初始化为x和y值,并将其各自的值作为参数

    在类Punt中生成打印坐标的print()方法。 •通过在名为main的main()类中执行以下操作来测试Punt类。 o使用不带参数的构造函数从Punt生成一个对象。 o使用另一个构造函数(具有2个参数的构造函数)在Punt中创建另一个对象。 o从两个对象调用print方法并检查输出是否正确

我的问题是我应该使用什么数据类型?int代表x,int代表y,还是应该使用double?对于不接受参数的构造函数,我应该如何编写

这门课会

public class Punt
{
    private int x, y;

    public Punt()
    {
       this(0,0);
    }

    public Punt(int x, int y)
    {
       this.x = x;
       this.y = y;
    }

    public void print()
    {
         System.out.println("(X, Y) = ("+x+", "+y+")");
    }
}
他确实提出了一个正确的观点

public class Main
{
    public static void main(String[] args)
    {
        Punt p1 = new Punt();
        Punt p2 = new Punt(-2, -1);

        p1.print();
        p2.print();
    }
}
不如现在就完成吧

他确实提出了一个正确的观点

public class Main
{
    public static void main(String[] args)
    {
        Punt p1 = new Punt();
        Punt p2 = new Punt(-2, -1);

        p1.print();
        p2.print();
    }
}

最好现在就完成…

您使用的数据类型取决于您的设计决策。您希望您的网格具有多大的特殊性?您希望所有的
Punt
s精确地落在网格线上,还是希望在平面上有度数?如果是前者,请使用
int
;如果是后者,请使用
double
。这个决定不需要任何真正的编程知识,只需要一些批判性的思考

无参数构造函数的编写方式与无参数方法的编写方式相同

public Punt() {

    //Do stuff

}

您使用的数据类型取决于您的设计决策。您希望您的网格具有多大的特殊性?您希望所有的
Punt
s精确地落在网格线上,还是希望在您的平面上有度数?如果是前者,请使用
int
;如果是后者,请使用
double
。此决策不会重复需要任何真正的编程知识,只是一些批判性思维

无参数构造函数的编写方式与无参数方法的编写方式相同

public Punt() {

    //Do stuff

}


你需要多少精度?你的坐标是整数还是实数的一部分?这应该回答你关于什么数据类型的问题。Oracles JavaDocs有几页。你需要多少精度?你的坐标是整数还是实数的一部分?这应该回答你的问题about什么数据类型。Oracles JavaDocs上有几页。

您应该使用的数据类型取决于这个类将用于什么。如果您只需要整数-使用int,如果您需要更高的精度,请使用非整数(double在内存中占用更多空间,而且由于您没有任何关于精度浮点的具体要求,因此似乎是最合理的选择)。

您应该使用的数据类型取决于该类的用途。如果您只需要整数,请使用int,如果您需要更高精度,请使用非整数(double会占用更多内存空间,而且由于您对精度浮点没有任何具体要求,因此似乎是最合理的选择).

你最好用double。不要用浮点坐标表示点……所以用double表示坐标?既然我们不知道你想如何使用这个类,我们怎么知道?@RohitJain你能(向我)解释一下吗我的方法是,任何有限的值都应该用有限的数据类型来表示,我认为不需要无限的精度(或者实际上不精确)这里。你最好用double。不要用浮点坐标表示点…所以用double表示坐标?既然我们不知道你想如何使用这个类,我们怎么知道?@RohitJain,你能解释一下吗我的方法是,任何有限的值都应该用有限的数据类型来表示,我认为不需要无限的精度(或者实际上不精确)here.OP没有要求给他密码..即使他问,你也不应该..你没有回答OP的问题,你只是完成了他的作业。此外,你以一种最不恰当的方式完成了作业。(调用this()是不必要的,格式化是笨拙的,封装被忽略,默认构造函数是私有的,没有理由)还有为什么你选择了两个参数的构造函数来调用无参数的构造函数,而不是做更符合逻辑的相反的事情。一张图片值千言万语。工作代码也是如此。我使用ints的唯一原因是因为没有关于精度的规范,我只是认为他没有足够的理由使用浮点坐标分数。换句话说,我的分数是谨慎的。@Vulcan:当我在学校的时候,我不明白一些事情,没有一个IT网络我可以问别人。相反,我必须看答案,找出为什么答案是正确的。“去讨论解决方案”想法就在这里。请随意提供一个更好的答案——但学生应该向自己提出这些问题,并试图自己找到答案,而不是我来解释我为什么这样那样做。我们可以不停地讨论做家庭作业的完美方法,但这不是关于我、你或他的家庭作业。而是关于他如何学习举例说明。OP不是要求给他密码。即使他问,你也不应该。你没有回答OP的问题,你只是完成了他的作业。此外,你以最不恰当的方式完成了作业。(调用this()是不必要的,格式化是笨拙的,封装被忽略,默认构造函数是私有的