我编写了一些代码来反转数字,如下所示:
long num = 123456789;
char[] arr = String.valueOf(num).toCharArray();
List<Character> characterList = new ArrayList<Character>();
for (char c : arr) {
characterList.add(c);
}
Collections.reverse(characterList);
for (Character c : characterList) {
System.out.println(c);
}
output:
9
8
7
6
5
4
3
2
1
谁能建议我一种更有效的方法来使用 Java 实现这一目标?
EDIT:
事实上,关于这个问题的第一个指南是向后打印它们,请忽略这种方式。
为什么使用字符?您可以直接使用整数运算来完成:
public static void main(String[] args) {
long num = 123456789;
while (num != 0) {
System.out.println(num % 10);
num = num / 10;
}
}
Output:
9
8
7
6
5
4
3
2
1
这几乎就是 Long.toString() 的意思内部做 http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/8-b132/java/lang/Long.java,所以它应该比使用字符串更有效。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)