有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

将字符串转换为int数组,java。lang.ArrayIndexOutofBounds异常:6

下面是我的一段代码,它试图将长度为6的字符串转换为int数组

int[] intArray=new int[6];
int i = 0;
String s = jTextField2.getText();
int strLength = s.length();
if(strLength != 6) {
  jTextArea1.setText("Not a valid length");
} else {
  for(i=0;i<6;i++) {
    intArray[i] = Integer.parseInt(String.valueOf(s.charAt(i)));
  }
}

这带来了一个越界的例外,我不明白为什么

谢谢你的帮助


共 (1) 个答案

  1. # 1 楼答案

    这个

    public static void main(String[] args) {
      int[] intArray=new int[6];
      int i = 0;
      String s = "123456";
      int strLength = s.length();
      if(strLength != 6) {
        System.out.println("Not a valid length");
      } else {
        for(i=0;i<6;i++) {
          if (!Character.isDigit(s.charAt(i))) {
            System.out.println("Contains an invalid digit");
            break;
          }
          intArray[i] = Integer.parseInt(String.valueOf(s.charAt(i)));
        }
      }
      System.out.println(Arrays.toString(intArray));
    }
    

    印刷品

    [1, 2, 3, 4, 5, 6]
    

    在这里