我需要为x和y使用变量。我必须设置一个方法来获得x,y。我必须使用一种方法来设置x和y。我必须使用显示方法来显示x和y的点。然后使用接受用户输入的构造函数并将它们设置为x和y。最后创建一个主类,创建x和y的2个实例。我认为我的问题出现了我的显示方法。我的程序编译/构建没有错误;但是没有任何内容显示或提示用户输入。在尝试调用main方法中的第一个类之前,我是否可能需要在第一个类中调用我的构造函数?
第一档:
public class Point2D extends JFrame
{
Scanner input = new Scanner(System.in);
private String x;
private String y;
public String getX()
{
return x;
}
public String getY()
{
return y;
}
public void setValue(String whatIsX, String whatIsY)
{
x = whatIsX;
y = whatIsY;
}
public void display()
{
System.out.println(x);
System.out.println(y);
}
public void Point2D()
{
System.out.println("Please enter value for X >>");
input.nextLine();
x = input.nextLine();
System.out.println("Please enter value for Y >>");
input.nextLine();
y = input.nextLine();
}
}
第二档:
public class MainPoint2D
{
public static void main(String[] args)
{
Point2D a = new Point2D();
Point2D b = new Point2D();
}
}
答案 0 :(得分:1)
删除 public void Point2D()
中的 void答案 1 :(得分:1)
从“构造函数”中删除void
:
public Point2D()
{
System.out.println("Please enter value for X >>");
input.nextLine();
x = input.nextLine();
System.out.println("Please enter value for Y >>");
input.nextLine();
y = input.nextLine();
}
构造函数没有返回类型,编译器将其视为类方法。
另外,在创建对象后,不要忘记调用任何要执行的方法:
Point2D a = new Point2D();
Point2D b = new Point2D();
a.display();
b.display();
答案 2 :(得分:1)
public void Point2D()
定义了一个名为" Point2D"的方法。使用void
返回类型,而不是构造函数。构造函数没有任何返回类型,甚至不是void
。将其更改为public Point2D()
。
目前,您的main
方法正在调用默认的Point2D
构造函数,该构造函数未定义,因此编译器会为您提供一个空构造函数。
答案 3 :(得分:0)
我想你想改变这个
public void Point2D()
{
System.out.println("Please enter value for X >>");
input.nextLine();
x = input.nextLine();
System.out.println("Please enter value for Y >>");
input.nextLine();
y = input.nextLine();
}
到这个
public Point2D()
{
System.out.println("Please enter value for X >>");
input.nextLine();
x = input.nextLine();
System.out.println("Please enter value for Y >>");
input.nextLine();
y = input.nextLine();
}