2012-05-12 7 views
0

アルファベット配列のcharがtextCharArrayの要素と等しいかどうかを調べようとしています。もしそうなら、アルファベットのchar番号を使って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))。 –

答えて