2015-11-03 25 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

我已经修复了它。我有点做了同样的事情。不管怎样,谢谢你 :) –