2016-01-18 14 views
0

以下是教師向我們提供的問題:我不確定如何創建if語句來檢查我在BikeTester類中創建的變量。我使用的變量在自行車類中聲明爲實例變量。任何人都可以請幫我解決biketester課的第4步嗎?如何在另一個類的if語句中調用實例變量

自行車類

  1. 創建一個類名爲自行車只具有以下實例變量:

    • 車輪的輪胎數

    • 製造商的

    • 直徑名字

    • 年建成

  2. 創建無參數的構造

  3. 創建一個使用所有字段作爲參數

  4. 寫入所有實例變量的getter和setter方法構造

  5. 使用上面顯示的示例覆蓋toString方法

自行車班上應該沒有主要的方法。

BikeTester類

  1. 創建一個名爲BikeTester類構建10種不同的自行車對象

  2. 每個自行車對象添加到陣列

  3. 使用for循環到SOP每個自行車參考

  4. 使用第二個for循環SOP只有那些在2004年以後建造的自行車nd的車輪直徑大於4

我在最後一步(第2部分中的第4步)。

我有以下代碼:從自行車類

公共自行車(INT輪轂,雙輪胎,字符串MANUF,INT年)

{ 

numWheels = wheels; 

diameterOfTires = tires; 

manufacturer = manuf; 

yearBuilt = year; 

} 

// 4參數的構造函數

Bike bike10 = new Bike(5, 2.5, "Bob", 1995); 

//排除了其他9個自行車物體,只是爲了把握這個想法。

Bike[] bikes = new Bike[10]; 

bikes[0] = bike1; 
bikes[1] = bike2; 
bikes[2] = bike3; 
bikes[3] = bike4; 
bikes[4] = bike5; 
bikes[5] = bike6; 
bikes[6] = bike7; 
bikes[7] = bike8; 
bikes[8] = bike9; 
bikes[9] = bike10; 

// 步驟4,我需要上

幫助(INT Y = 0; Y < bikes.length; Y ++)//我的環來解決問題(不工作)

{

if(yearBuilt > 2004 && diameterOfTires > 4) 

{

System.out.println(bikes[y]); 
    } 

}

謝謝!任何幫助將是很好,因爲我卡住試圖解決這個問題!

+0

吸氣劑和安定劑? –

回答

0

自行車應該有一個屬性,讓你獲得年。

您可以使用

for (Bike b : bikes) { 
    if(b.getYearBuilt() > 2004 && b.getTireDiameter() > 4) { 
     // whatever you want to do here. 
    } 
} 

,或者如果你需要使用一個索引的for循環,您可以使用

for (int i = 0; i < bikes.length; i++) { 
    if(bikes[i].getYearBuilt() > 2004 && bikes[i].getTireDiameter() > 4) { 
     // whatever you want to do here. 
    } 
} 
+0

非常感謝! – xtremeslice

+1

@xtremeslice如果此解決方案解決了您的問題,則應通過單擊打勾接受此解決方案,並且此問題將被視爲已解決。 – user3437460

0

目前尚不清楚,從你的問題,當你運行你的代碼,什麼是錯的。是不是編譯,你是否有例外,是否打印你不想要的東西,或者你什麼都看不到?

但是,我可以就如何解決這個問題提供一般性建議。如果您在Bike類(int getNumWheels()void setNumWheels(int)等)中創建了setter和getters,則可以使用它們來獲取每個腳踏車的實例變量。

for (y = 0; y < bikes.length; y++) { 
    if (bikes[y].getYearsBuilt() > 2004 && bikes[y].getDiameterOfTires() > 4) { 
     System.out.println(bikes[y]); 
    } 
} 

通過你的自行車陣這段代碼迴路(前提是你擁有了它在同一個班,因爲這代碼中聲明,否則你必須先得到它。

對於循環的每次迭代,你必須選擇一輛特定的自行車來測試建造年份和輪胎直徑,要做到這一點,你使用循環索引y來獲得一個自行車對象,然後調用相關的獲得者。 ,System.out.println(bikes[y])被調用來打印出String toString()的方法自行車班。如果您沒有重寫該方法,則只會看到類名稱和哈希碼(例如[email protected])。

相關問題