创建没有传递参数的setColor方法?

时间:2014-10-28 18:05:56

标签: java methods setter

我正在做一个家庭作业项目,为java课程介绍。要练习调用方法和组织任务,我们必须创建两个气球对象s1和s2,并使用单独的java类中的方法修改它们的颜色和高度。

我的一切工作正常,但不完全符合作业的要求。该工作表列出了方法声明,并且无法更改它们,只有其中的代码可以。

用于更改气球颜色的方法将创建为public void setColor()。不过,这对我来说没有意义。我现在正在使用public void setColor(String color)

如何在不将任何内容传递给setColor方法的情况下更改气球对象的颜色属性?

2 个答案:

答案 0 :(得分:0)

我完全同意@RealSkeptic,但正如你的问题所说,更改颜色而不传递任何值,这意味着每次使用以下代码时都需要生成颜色。我不确定这段代码是否符合您的要求。

public void setColor()
    {
        int red,green,blue;
        red = green = blue = 0;
        Random random = new Random();
        int high = 255, low = 0;
        red = random.nextInt(high-low)+low;
        green = random.nextInt(high-low)+low;
        blue = random.nextInt(high-low)+low;
        color = new Color(red,green,blue);
        //set this color to your balloon
    }

答案 1 :(得分:0)

嗯,如果方法中没有参数,则无法指定任何特定颜色。您可以进行硬编码以使颜色发生变化。

class Baloon {

private String[] colors = {"blue", "red" , "green"};
private int index = 0;
private String currentColor = colors[index];

      public void setColor(){

      index ++;
      if (index = colors.length)
          index = 0;
      currentColor = colors[index]; 

      }
}