首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java: ArrayIndexOutOfBoundsException: 4?

Java: ArrayIndexOutOfBoundsException: 4?
EN

Stack Overflow用户
提问于 2020-04-16 15:50:01
回答 1查看 26关注 0票数 1

我理解这个异常背后的原因,并且我多次检查了我的代码。但是,我认为我的索引在索引范围内。有人能帮我吗?附注:假设while循环的条件将得到满足。也就是说,num最多为3。

代码语言:javascript
复制
 int suit;
 int num = 0;
 String[] suitList = {"c", "d", "h", "s"};
 for (int i = 0; i < 5; i++){
    while (suitList[num].equals(testHand[i].substring(0,1)) == false){
        num++;
    }            
    suit = num + 1;
 }   
EN

回答 1

Stack Overflow用户

发布于 2020-04-16 15:55:00

对于for循环的每次迭代,应将num重置为0:

代码语言:javascript
复制
int suit;
String[] suitList = {"c", "d", "h", "s"};
for (int i = 0; i < 5; i++){
   int num = 0;
   while (suitList[num].equals(testHand[i].substring(0,1)) == false){
       num++;
   }            
   suit = num + 1;
}

否则,它可能会在for循环的第一次迭代后超过3

顺便说一句,你的情况可以改善如下:

代码语言:javascript
复制
int suit;
String[] suitList = {"c", "d", "h", "s"};
for (int i = 0; i < 5; i++){
   int num = 0;
   while (!testHand[i].startsWith(suitList[num]))) {
       num++;
   }            
   suit = num + 1;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61245174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档