嘿伙计们,我在课堂上工作时遇到了一些麻烦(......再次),并且想知道你们可以给我一点点意见,可以帮我解决这个问题。我们正致力于通过形状创建房屋的任务,我们需要创建方法来改变形状(房屋的一部分),无论我尝试过什么,我都无法弄清楚如何通过创建的方法获取实际更改的形状。
这是作业的第一步,其他领域的后续步骤更为相同。
向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()
{
}
}
我很感激你们可能有的任何建议,我知道你们中有些人对帮助完成与家庭作业有关的问题感到不舒服,但我想说清楚并且说我不是在寻找完整的解决方案。一些帮助弄清楚我做错了什么以及从哪里开始。
感谢您抽出宝贵时间阅读本文并给予我任何建议。
答案 0 :(得分:0)
你似乎对如何调用方法和传递参数感到困惑。
方法
public void changeRoofColor(String roof)
{
[changeRoofColor();]
[changeRoofColor("green");]
}
应如下所示:
public void changeRoofColor(String color)
{
roof.changeColor(color);
}
因为参数在这里接受的颜色不是屋顶。并且由于您想要更改屋顶颜色,您需要使用屋顶变量来调用changeColor方法。
并且相同的概念适用于您的所有其他方法。