2014-10-28 96 views
0

我正在做一個java課程介紹的家庭作業項目。爲了練習調用方法和組織任務,我們必須創建兩個氣球對象s1和s2,並使用單獨的java類中的方法修改它們的顏色和高度。在不傳遞參數的情況下創建setColor方法?

我所擁有的一切工作正常,但不完全的任務的要求。該表列出了方法聲明,並且它們不能更改,只有它們中的代碼纔可以。

是,用於改變一個氣球的顏色的方法是如public void setColor()被創建。不過,這對我來說並不合適。我現在使用public void setColor(String color)

我怎樣才能改變一個氣球對象的顏色屬性,而不經過任何內容到方法的setColor?

+0

硬代碼它正在改變顏色? – 2014-10-28 18:09:57

+3

我想說這是你的導師的錯誤。如果我是你,我會直接問他/她。 – RealSkeptic 2014-10-28 18:10:25

+0

帕特里克,你能解釋一下「硬代碼」是什麼意思嗎?我對Java仍然很陌生。 RealSkeptic,這是可能的,但我想我會先檢查,看看是否我缺少什麼。 – hunsbct 2014-10-28 18:14:15

回答

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

     } 
} 
+0

這絕對有道理。謝謝! – hunsbct 2014-10-28 18:28:46

相關問題