创建更改多个字段对象的方法

时间:2018-02-14 20:22:38

标签: java methods

嘿伙计们,我在课堂上工作时遇到了一些麻烦(......再次),并且想知道你们可以给我一点点意见,可以帮我解决这个问题。我们正致力于通过形状创建房屋的任务,我们需要创建方法来改变形状(房屋的一部分),无论我尝试过什么,我都无法弄清楚如何通过创建的方法获取实际更改的形状。

这是作业的第一步,其他领域的后续步骤更为相同。

  

向House类添加一个名为changeRoofColor的方法,该方法具有String参数变量,并根据参数中传递的参数更改屋顶的颜色。 (使用changeColor,而不是setColor。)

这是我到目前为止所获得的内容,你在[]中看到的界限是我尝试过的,但这对我来说并不起作用。

 /**
 * Write a description of class House here.
 * 
 * @author Nicholas Thomas
 * @version 2/13/2018
 */
public class House
{
    private Square wall; 
    private Square window;
    private Triangle roof;
    /** Making a house.
     * House Constructor
     *
     */
    public House()
    {
        wall = new Square();        
        roof = new Triangle();
        window = new Square();
        wall.makeVisible();
        wall.changeSize(100);
        wall.moveHorizontal(40);
        wall.moveVertical(150);
        roof.makeVisible();
        roof.moveHorizontal(100);
        roof.changeSize(60, 150);
        roof.moveVertical(125);
        roof.changeColor("black");
        window.makeVisible();
        window.changeSize(25);
        window.moveHorizontal(50);
        window.moveVertical(170);
        window.changeColor("blue");
    }

    /** Contains the main method.
     * Method main
     *
     * @param args A parameter
     */
    public static void main(String[]args)
    {
        House house = new House();
    }

    /** This is a method to change the color of the roof. 
     * Method changeRoofColor
     *
     * @param roofColor
     */

    public void changeRoofColor(String roof)
    {
        [changeRoofColor();]
        [changeRoofColor("green");]
    }

    /**
     * Method changeWallColor
     *
     * @param wall A parameter
     */
    public void changeWallColor(String wall)
    {
       [house.changeWallColor();]
        [this.changeWallColor();]
    }

    /**.
     * Method changeWindowColor
     *
     * @param window A parameter
     */
    public void changeWindowColor(String window)
    {

    }

    /**.
     * Method moveHorizontal
     *
     */
    public void moveHorizontal(int Hotizontal)
    {

    }

    /**.
     * Method moveVertical
     *
     */
    public void moveVertical(int Vertical)
    {

    }

    /**.
     * Method makeInvisible
     *
     */
    public void makeInvisible()
    {

    }

    /**.
     * Method makeVisible
     *
     */
    public void makeVisible()
    {

    }
}

我很感激你们可能有的任何建议,我知道你们中有些人对帮助完成与家庭作业有关的问题感到不舒服,但我想说清楚并且说我不是在寻找完整的解决方案。一些帮助弄清楚我做错了什么以及从哪里开始。

感谢您抽出宝贵时间阅读本文并给予我任何建议。

1 个答案:

答案 0 :(得分:0)

你似乎对如何调用方法和传递参数感到困惑。

方法

public void changeRoofColor(String roof)
{
    [changeRoofColor();]
    [changeRoofColor("green");]
}

应如下所示:

 public void changeRoofColor(String color)
 {
     roof.changeColor(color);
 }

因为参数在这里接受的颜色不是屋顶。并且由于您想要更改屋顶颜色,您需要使用屋顶变量来调用changeColor方法。

并且相同的概念适用于您的所有其他方法。