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方法并检查输出是否正确
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()
是不必要的,格式化是笨拙的,封装被忽略,默认构造函数是私有的