【发布时间】:2019-01-07 13:02:37
【问题描述】:
我有一个“算法”,它有一个整数 k 作为输入参数。例如,我将 k = 54321 作为参数传递。在这种方法中我想要:
- 将此整数转换为 char 数组,这样就可以代替 54321 而是 [5,4,3,2,1] 等等
- 将此数组升序排序,将每个字符添加到 ArrayList
- 返回数组列表
但是当谈到 for 循环时,如果我通过 char[position] 获取项目,它会给我随机值。更实际的是,
public class Main {
public static void main(String[] args) {
System.out.println(sortMet(54321));
}
static ArrayList<Integer> sortMet(int k) {
ArrayList<Integer> tab_cyfr = new ArrayList<>();
char[] chars = String.valueOf(k).toCharArray();
int n = chars.length;
Arrays.sort(chars);
for (int i = 0; i < n; i++) {
tab_cyfr.add(chars[i]);
}
return tab_cyfr;
}
}
这应该在 [1,2,3,4,5] 之后返回我,但返回 [49, 50, 51, 52, 53],这些数字是从哪里来的?
另外很抱歉变量命名,我正在对局部变量进行随机练习。
【问题讨论】:
-
试试
Character#getNumericValue(char)
标签: java