首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >线程“main”java.lang.ArrayIndexOutOfBoundsException中的异常:5错误

线程“main”java.lang.ArrayIndexOutOfBoundsException中的异常:5错误
EN

Stack Overflow用户
提问于 2018-11-14 00:17:52
回答 2查看 275关注 0票数 1

我需要打印数字谁有重复数字,如11或121。但是,当我提供一些输入(如22 )时,它会出现一个错误。我不明白为什么我会收到错误信息。你知道我怎么纠正这个错误吗?

代码语言:javascript
复制
import java.util.Scanner;

public class IdenticalNumbers {

    public static void main(String[] args) 
    { 
        // Declare an object and initialize with 
        // predefined standard input object 
        Scanner sc = new Scanner(System.in); 

        int max = 0; 
        int[] arr = new int[5];
        int count =0;

        // Check if an int value is available 
        while (sc.hasNextInt()) 
        { 
            // Read an int value 
            int num = sc.nextInt(); 

            while (IsRepeating(num)){
                arr[count] = num;
                count += 1;
            } 

            if (num > max){
                max = num;
            } 


        } 
        System.out.println("Maximum integer is: " + max);
        System.out.println("Numbers with identical digits are: ");
        for(int i = 0; i < arr.length; i++) {   
            System.out.print(arr[i]);
        }  
        sc.close();
    } 

    public static boolean IsRepeating(int number)
    {
        String textual = "" + number;
        for (int i = 0; i < textual.length(); i++)
        {
            for (int j = i + 1; j < textual.length(); j++)
            {
                if (textual.charAt(i) == textual.charAt(j))
                    return true;
            }
        }

        return false;
    }
}

IdenticalNumbers.main(IdenticalNumbers.java:23)中线程"main“java.lang.ArrayIndexOutOfBoundsException: 5中的异常

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-11-14 00:25:16

原因在于这一行while (IsRepeating(num)){。在循环中,您不会更改num,因此如果它是重复的,它将始终是。这条线循环(并增加count),而num是重复的,也就是永久的。

您应该将其转换为if (IsRepeating(num)){

票数 0
EN

Stack Overflow用户

发布于 2018-11-14 00:24:23

您的var计数是问题所在,您正在将数组初始化为大小为5个元素的数组,并且在某个时候给出了count > 4。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53291365

复制
相关文章

相似问题

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