0

私はこの方法を持っています:

public ArrayList Arraylistify(){
     for(int x = 0; x < value.length(); x++){
         if(Character.getNumericValue(value.charAt(x)) >= 10 && Character.getNumericValue(value.charAt(x)) <= 26){
             for(char y = 'A'; y < 'Z'; y++){
                 if(Character.toString(y).equalsIgnoreCase(Character.toString(value.charAt(x)))){
                     numbers.add(Character.getNumericValue(y));
                     break;
                 }
             }
         }
          numbers.add((int) value.charAt(x));
     }
     return numbers;
}

これは、文字列値(数字と文字のみを含む)から文字を取得し、それらをArrayListに入れる(文字を数値に変換する)ことになっています。したがって、文字列が4567Aの場合、ArrayListには4、5、6、7、および10がこの順序で含まれます。ただし、ArrayListのすべての整数は48で追加されます。これは何が原因ですか?これを修正するにはどうすればよいですか?これを行う別の方法を選択する必要がありますか?返信してください。ありがとうございました。

4

1 に答える 1

0

どうですか

 public static List<Integer> toList(String value) {
     List<Integer> list = new ArrayList<>();
     for(char ch: value.toCharArray())
        list.add(Character.getNumericValue(ch));
     return list;
 }
于 2013-03-16T23:40:59.537 に答える