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 中的所有 Integer 都是 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 回答