【问题标题】:Java Array If Empty multiple classesJava Array If Empty 多个类
【发布时间】:2015-11-03 12:07:16
【问题描述】:

我有点坚持这个。

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

【问题讨论】:

  • 请提供一个小的可运行示例来说明您的问题,很难理解这里实际发生的情况。
  • 休息;当 id=0 并且没有进一步的增量发生时,语句会中断循环。
  • @rakeb.mazharul 没关系,语法没问题。
  • 代替if(bookIds[libPos] == 0) { return true; } else { return false; },只做return bookIds[libPos] == 0;
  • 而不是if(myDB.isRowEmpty(i)==true),只做if(myDB.isRowEmpty(i))

标签: java arrays class if-statement for-loop


【解决方案1】:

在 java 中,数组值默认初始化为 '0',因此在 for 循环中,if 条件通过索引 (i=0) 的第一次迭代,这就是 id 值变为 0 的原因。

【讨论】:

  • 非常感谢您澄清这一点。
【解决方案2】:

您是否在某处定义了 id,即。 id=1 然后查看

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

进入你的 for 循环。

【讨论】:

  • 我已经修好了。我也做了同样的事情。还是谢谢你:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-03-10
  • 1970-01-01
  • 1970-01-01
  • 2018-05-13
  • 1970-01-01
  • 2017-08-12
  • 2021-10-05
相关资源
最近更新 更多