我有一个变量的赋值是这样的int z=123
在Java中有没有一种方法可以将这些数字提取为单个整数示例1 2 3
我试着放入一个for循环
for (int i = 1; i<=z; i++){
}
但这只返回123次的“123
下面是我推荐的另一种方法,
使用StringBuilder
和charat()
方法,如下所示:
int z = 123;
StringBuilder getThem = new StringBuilder(String.valueOf(z));
for (int i = 0; i < getThem.length(); i++) {
System.out.println(getThem.charAt(i));
}
//output:
//1
//2
//3
查看“Java空气污染指数”课程
继续将数字除以10,并使用模数运算符。
while(z>0){
System.out.println(z%10);
z/=10;
}
请注意,这将以相反的顺序打印数字。 如果您想以正确的顺序获取它们,可以使用堆栈,或者将它们添加到列表中并向后循环。
final Deque<Integer> stack = new ArrayDeque<>();
while(z>0){
stack.offer(z%10);
z/=10;
}
while(!stack.isEmpty()){
System.out.println(stack.pollLast());
}
这里有两种方法。
String [] v = Integer.toString(123).split("");
int d1 = Integer.valueOf(v[0]);
int d2 = Integer.valueOf(v[1]);
int d3 = Integer.valueOf(v[2]);
System.out.println(d1 + " " + d2 + " " + d3);
或
int a = 123;
int d1 = a%10; // remainder of 123 divided by 10
int d2 = (a/10)%10; // remainder of 12 divided by 10
int d3 = a/100; // quotiet of 123 divided by 100
System.out.println(d3+ " " + d2 + " " + d1);
打印
1 2 3
1 2 3