Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.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_Helper_Getter - Fatal编程技术网

编写Java助手方法

编写Java助手方法,java,helper,getter,Java,Helper,Getter,我有4门课,火箭、三角形、正方形和圆形 Rocket是主类,它允许在动画屏幕中创建火箭的表示。 火箭由三种形状组成,三角形为机头,正方形为机身,圆形为喷流。火箭以垂直队形定向。其他3个类定义了形状的特征 我需要编写一个helper方法“getBodyXPos()”,以便它返回一个相对于鼻子位置的适当值。机头的位置已经定义,因此我需要使用代码中的现有值,以便如果机头移动,身体将随之移动其位置,即非硬编码值 这是我的第一篇文章,很抱歉代码转储。我很确定这有一个非常简单的解决方案,但我对Java非常陌

我有4门课,火箭、三角形、正方形和圆形

Rocket是主类,它允许在动画屏幕中创建火箭的表示。 火箭由三种形状组成,三角形为机头,正方形为机身,圆形为喷流。火箭以垂直队形定向。其他3个类定义了形状的特征

我需要编写一个helper方法“getBodyXPos()”,以便它返回一个相对于鼻子位置的适当值。机头的位置已经定义,因此我需要使用代码中的现有值,以便如果机头移动,身体将随之移动其位置,即非硬编码值

这是我的第一篇文章,很抱歉代码转储。我很确定这有一个非常简单的解决方案,但我对Java非常陌生,我一辈子都找不到获得所需值的方法。任何帮助都将不胜感激,谢谢

火箭级

import ou.*;
public class Rocket
{   
   private Triangle nose;      // represents the rocket's nose cone
   private Square body;        // represents the rocket's body
   private Circle jet;         // represents the blast from the rocket's engine

   /**
    * Constructor for objects of class Rocket
    */
   public Rocket(Triangle t, Square s, Circle c)
   {
      //references to the  shape objects
      this.nose = t;
      this.body = s; 
      this.jet = c;    

      //sets the initial positions of the nose.
      //The other parts need to be set relative to these positions.
      this.nose.setXPos(50);
      this.nose.setYPos(300);

      //sets the body relative to the nose, using the helper methods
      this.body.setXPos(getBodyXPos());
      this.body.setYPos(getBodyYPos());      

      this.jet.setColour(OUColour.WHITE); 
      this.jet.setDiameter(10);           

      this.jet.setXPos(getJetXPos()); 
      this.jet.setYPos(getJetYPos()); 
   }

   private int getBodyXPos()
   {
     //SOLUTION HERE
     return 0;
   }

   private int getBodyYPos()
   {
          
     return 0;
   }
}
三角班

import ou.*;

public class Triangle extends OUAnimatedObject
{
/* Instance variables */

   private OUColour colour;
   private int xPos;
   private int yPos;
   private int width;
   private int height;
   
   /**
    * Constructor for objects of class Triangle with the default characteristics.
    */
   public Triangle()
   {
      this.colour = OUColour.RED;
      this.xPos = 0;
      this.yPos = 0;
      this.width = 20;
      this.height = 20;
   }

/* Instance methods */     
     
   /**
    * Sets the colour of the receiver to the value of the argument aColour.
    */
   public void setColour (OUColour aColour)
   {
      this.colour = aColour;
      this.update();
   }
   
   /**
    * Returns the colour of the receiver.
    */
   public OUColour getColour ()
   {
      return this.colour;
   }
   
   /**
    * Sets the horizontal position of the receiver to the value of the argument x.
    */
   public void setXPos(int x)
   {
      this.xPos = x;
      this.update();
   }
   
   /**
    * Returns the horizontal position of the receiver.
    */
   public int getXPos()
   {
      return this.xPos;
   }
   
   /**
    * Sets the vertical position of the receiver to the value of the argument y.
    */
   public void setYPos(int y)
   {
      this.yPos = y;
      this.update();
   }
   
   /**
    * Returns the vertical position of the receiver.
    */
   public int getYPos()
   {
      return this.yPos;
   }
   
   /**
    * Sets the width of the receiver to the value of the argument aWidth.
    */
   public void setWidth(int aWidth)
   {
      this.width = aWidth;
      this.update();
   }
   
   /**
    * Returns the width of the receiver.
    */
   public int getWidth()
   {
      return this.width;
   }
   
   /**
    * Sets the height of the receiver to the value of the argument aHeight.
    */
   public void setHeight(int aHeight)
   {
      this.height = aHeight;
      this.update();
   }
   
   /**
    * Returns the height of the receiver.
    */
   public int getHeight()
   {
      return this.height;
   }
   
   /**
    * Returns a string representation of the receiver.
    */
   public String toString()
   {
      return "An instance of class "+ this.getClass().getName() 
             + ": position (" + this.getXPos() + ", " + this.getYPos()
             + "), width " + this.getWidth() + ", height " + this.getHeight()
             + ", colour " + this.getColour();
   }
}
广场班

import ou.*;
 
public class Square extends OUAnimatedObject
{
/* Instance variables */

   private int length;
   private OUColour colour;
   private int xPos;
   private int yPos;
   
   /**
    * Constructor for objects of class Square with the default characteristics.
    */
   public Square()
   {
      this.length = 20;
      this.colour = OUColour.BLUE;
      this.xPos = 0;
      this.yPos = 0;
   }

/* Instance methods */    
    
   /**
    * Sets the length of the receiver to the value of the argument aLength.
    */
   public void setLength(int aLength)
   {
      this.length = aLength;
      this.update();
   }
   
   /**
    * Returns the length of the receiver.
    */
   public int getLength()
   {
      return this.length;
   }
   
   /**
    * Sets the colour of the receiver to the value of the argument aColour.
    */
   public void setColour (OUColour aColour)
   {
      this.colour = aColour;
      this.update();
   }
   
   /**
    * Returns the colour of the receiver.
    */
   public OUColour getColour ()
   {
      return this.colour;
   }
   
   /**
    * Sets the horizontal position of the receiver to the value of the argument x.
    */
   public void setXPos(int x)
   {
      this.xPos = x;
      this.update();
   }
   
   /**
    * Returns the horizontal position of the receiver.
    */
   public int getXPos()
   {
      return this.xPos;
   }
   
   /**
    * Sets the vertical position of the receiver to the value of the argument y.
    */
   public void setYPos(int y)
   {
      this.yPos = y;
      this.update();
   }
   
   /**
    * Returns the vertical position of the receiver.
    */
   public int getYPos()
   {
      return this.yPos;
   }
   
   /**
    * Returns a string representation of the receiver.
    */
   public String toString()
   {
      return "An instance of class "+ this.getClass().getName() 
             + ": position (" + this.getXPos() + ", " + this.getYPos() 
             + "), length " + this.getLength() + ", colour " + this.getColour();
   }
   
}

希望
身体
开始位置始终与
鼻子对齐

  /\
 /  \ 
 ----
 |__|
在这种情况下,
X
Nose
将是
X
Body
bodyY=noseY+noseHeight

private int getBodyXPos(){
    return nose.getXpos();
}

private int getBodyYPos(){
    return nose.getYpos() + nose.getheight();
}