java - 为什么我的程序不断给我一个 ArrayIndexOutOfBoundsException 即使我没有

标签 java

我最近试图构建一个程序,它接受两个输入并检查它们在其他碱基中是否同等表示(碱基最多为 20)。但我在第 28 行不断遇到索引越界异常...该怎么办?

例如:12(基数 10) = 5(基数 3) [两者在各自的基数中均表示为“12”。]

import java.util.Scanner;
import java.util.Arrays;
class Bases
{

    public static void main()
    {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter Two Numbers: ");
        int a  = sc.nextInt();
        int b = sc.nextInt();
        System.out.println("Thank You for inputting the numbers!");

        String basea[] = new String[20];
        String baseb[] = new String[20];

        int i=0 , j=0;
        for( i=0;i<20;i++)
        {
            basea[i] = convert(a,i+1);
            baseb[i] = convert(b,i+1);
        }

        for(i=0;i<=19;i++)
        {
            for(j=0;i<=19;j++)
            {
                if(basea[i].equals(baseb[j])) 
                {//this is where the exception keeps popping

                    break ;
                }
            }
        }
        if(i!=20){ 
            if(i==0){
                i=9; 
                System.out.println(a+"(base "+(i+1)+") ="+b+"(base "+(j+1)+")");
            }
            else 
                System.out.println(a+"(base "+(i+1)+") ="+b+"(base "+(j+1)+")");
        }
        else System.out.println("Numbers dont match at all till base 20!!");
    }

    private static String convert(int number,int base)
    {

        return Integer.toString(number,base);
    }

}

最佳答案

for(j=0;i<=19;j++)

上面的循环应该是 j <= 19

for(j=0;j<=19;j++)

关于java - 为什么我的程序不断给我一个 ArrayIndexOutOfBoundsException 即使我没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40606264/

相关文章:

java - SpringMVC/mockMVC/jsonpath 比较字符串列表

java - 使用 logback/slf4j 时抛出异常

java - Sonar Java : check the quality of the test classes source code?

java - 如何使用java读取Excel文件(xlsx)的大量数据

java - 对每个实体子类型使用不同的投影

java - 有没有办法通过整数调用JLabel

Java方法参数给出编译错误 "Unexpected bound"

java - 如何强制 Eclipse Applet Viewer 执行安全检查?

java - 我创建的这个冒泡排序算法有什么问题?

java - 如何在 Android 上以自定义质量级别保存 JPEG 图像