2015-11-03 31 views
0

我有點卡在這一個。Java Array如果空多個類

//DataBase class  

public int getStorageSize() 
{ 
    myStorageSize=5; 
    return myStorageSize; 
} 

BookIds[]默認爲空。

public boolean isRowEmpty(int libPos) 
{ 
    if(bookIds[libPos] == 0) 
    { 
     return true; 
    } 
    else 
    { 
     return false; 
    } 
} 

在這裏,從主類

for(int i = 0; i < myDB.getStorageSize(); ++i) 
    if(myDB.isRowEmpty(i) == true) 
    { 
     id = i; 
     break; 
    } 

我固定它自帶的代碼。無需發佈了。我加了這個

public int getBookId(int libPos) 
{ 
    return bookIds[libPos]; 
} 

和替換 我的週期。

for(int i = 1; i < myDB.getStorageSize(); i++)          
    if(myDB.isRowEmpty(myDB.getBookId(i)) == true) 
    { 
     id=i; 
     break; 
    } 
+0

請提供您的問題的一個小runnable示例,很難遵循實際發生在這裏。 – SomeJavaGuy

+0

休息;語句在id = 0時打破循環,並且沒有進一步的增量發生。 – Shivam

+0

@ rakeb.mazharul無關緊要,語法沒問題。 – kevto

回答

0

在默認數組值的java所以在for循環if條件爲第一迭代通過與索引(i = 0)被初始化以「0」,這就是爲什麼值id成爲0

+0

你非常清楚這一點。 –

0

你是否在某處定義了id,例如。 id=1然後檢查

if(id == 1) { 
    id = i; 
    break; 
} 

進入您的for循環。

+0

我已經修復了它。我有點做了同樣的事情。不管怎樣,謝謝你 :) –