2012-05-12 2 views
0

alpabet 배열의 char이 textCharArray의 요소와 동일한 지 검색하려고합니다. 그리고 만약 그렇다면 수학을 좀 해보십시오 : 알파벳의 문자 번호는 arrayList 값에 더합니다. 하지만 오류가 점점 : 문제는 cicles 위해에서해야java check values ​​

java.lang.ArrayIndexOutOfBoundsException. 그러나 나는 그것을 핵심적으로 고치는 법을 모른다. 코드 :

   outputText.setText(""); 
      inputTextString = inputText.getText().toString().replace(" ", ""); //panaikinami tarpa 
      char[] textCharArray = inputTextString.toCharArray(); //seka paverciama char masyvu 
      int l = textCharArray.length; 
      char[] alphabet = {'A','B','C','D','E','F','G','H','I','K','L','M','N','O','P','Q','R','S','T','V','X','Y','Z'}; 
      int alpLenght = alphabet.length; 
      System.out.println(alpLenght); 
      stringKey = inputKey.getText().toString(); 
      int k = Integer.parseInt(stringKey); 
      List<Integer>keyList = new ArrayList<Integer>(); 
      while(k > 0){ 
       keyList.add(k%10); 
       k = k /10; 
      } 
      Collections.reverse(keyList); 
      int j = 0; 
      int temp; 
      for(int i = 0; i <= l; i++){ 
       for(int ii = 0; ii < alpLenght; i++){ 
        if(j < keyList.size()){ 
         if(textCharArray[i] == alphabet[ii]){ 
          temp = ii + keyList.get(j); 
          System.out.println("Uzkoduotas: " + temp); 
          } 
         j++; 
        } 



       else { 
        j = 0; 
         if(textCharArray[i] == alphabet[ii]){ 
          temp = ii + keyList.get(j); 
          System.out.println("Uzkoduotas: " + temp); 
         } 
        } 
        j++; 
       } 
+4

가 검사하여 코드에서 오류를 발견하는 낯선 사람을 물어 교체하는 것은 생산하지 않습니다. 디버거 나 print 문을 사용하여 문제를 확인 (또는 적어도 격리) 한 다음보다 구체적인 질문으로 돌아 가야합니다 (10 줄 [테스트 케이스] (http : /sscce.org)). –

답변