Java 在不传递参数的情况下创建setColor方法?

Java 在不传递参数的情况下创建setColor方法?,java,methods,setter,Java,Methods,Setter,我正在为java入门课程做家庭作业。为了练习调用方法和组织任务,我们必须创建两个气球对象s1和s2,并使用单独java类中的方法修改它们的颜色和高度 我一切都很好,但并不完全符合任务的要求。该工作表列出了方法声明,它们不能更改,只能更改其中的代码 用于更改引出序号颜色的方法将创建为public void setColor。不过,这对我来说毫无意义。我现在使用的是public void setColorString color 如何在不向setColor方法传递任何内容的情况下更改气球对象的颜色属

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

我一切都很好,但并不完全符合任务的要求。该工作表列出了方法声明,它们不能更改,只能更改其中的代码

用于更改引出序号颜色的方法将创建为public void setColor。不过,这对我来说毫无意义。我现在使用的是public void setColorString color


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

我完全同意@realpoint,但正如您的问题所述,在不传递任何值的情况下更改颜色意味着您需要在每次使用以下代码时生成颜色。我不确定你是否需要这个代码

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
    }

如果方法中没有参数,就不能指定任何特定的颜色。您可以硬编码以使颜色发生变化

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]; 

      }
}

硬编码要更改的颜色?我认为这是你的讲师的错误。如果我是你,我会直接问他/她。帕特里克,你能解释一下你所说的硬代码是什么意思吗?我对java还是相当陌生的。真怀疑论者,这是可能的,但我想我应该先检查一下我是否遗漏了什么。这绝对是有道理的。谢谢