2

假设用户输入一个 int123214

我已经设法将数字分开,但是如何将数字乘以一个和另一个。

比如我想要1*2*3*2*1*4

我将所有个位数放入一个数组中,但我不能将它们乘以我想要的一个和另一个。

4

1 回答 1

6

尝试这个:

int res = 1;
for (char c : "123214".toCharArray()) {
    res *= (c - '0');
}

这是有效的,因为数字的二进制代码是连续的。通过减去零字符的代码,'0'您可以获得从零到九(包括在内)的整数值。

这是ideone 上此片段的链接。它打印48

于 2012-07-27T12:43:25.307 回答