如何为rand.nextInt()等于0的场景编写if/else条件判断语句?
解决方案
你当前的代码存在两个需要修正的问题:
- 条件判断的运算符使用错误:Java 中
=是赋值运算符,判断两个值相等必须使用双等号== - 不要在
if判断条件中直接调用rand.nextInt(),每次调用该方法都会生成全新的随机数,会导致判断逻辑和你预期的取值不匹配,需要先将生成的随机数存入本地变量再操作
正确代码示例
// 先生成一次随机的敌人下标,存入变量 int randomEnemyIndex = rand.nextInt(enemy.enemyType); // 用双等号做相等判断 if (randomEnemyIndex == 0) { System.out.println(enemy.enemyHealth[0]); } // 拓展优化:如果你需要匹配所有敌人类型,不需要写多组if判断,直接用随机数当下标取值即可 // System.out.println(enemy.enemyHealth[randomEnemyIndex]);
内容的提问来源于stack exchange,提问作者Epicskylegend
相关产品推荐
相关产品推荐

