提问者:小点点

从单个变量中提取单个数字[重复]


我有一个变量的赋值是这样的int z=123在Java中有没有一种方法可以将这些数字提取为单个整数示例1 2 3

我试着放入一个for循环

for (int i = 1; i<=z; i++){

}

但这只返回123次的“123


共3个答案

匿名用户

下面是我推荐的另一种方法,

使用StringBuildercharat()方法,如下所示:

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