如何使用display方法和调用构造函数?

时间:2014-12-08 16:42:11

标签: java constructor instance

我需要为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();
    }
}

4 个答案:

答案 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();
   }