我想知道如何从整数中删除数字。例如,如果我有数字23875326,我想删除奇数,并得到结果2826。
我一直在尝试使用 while 循环来分解每个数字以检查它是偶数还是奇数,但我不知道如何将数字合并为一个整数。一件重要的事情是,我想在不使用字符串的情况下完成它,因为它不会教我任何新的东西。
最佳答案
我实际上认为处理一串数字更好,不仅从代码可读性的角度来看,而且可能从性能的角度来看。话虽这么说,如果我们绝对不能在这里使用字符串,那么仍然可以直接使用整数输入。
我们可以使用num % 10
检查输入数字的每十位数字。如果该数字是偶数,我们可以将其添加到输出数字中,否则不添加它。请注意,在每次迭代中,我们都需要将数字缩放 10 到正确的指数。
这是一个有效的代码片段:
int length = (int) (Math.log10(num) + 1); // finds the number of digits
int output = 0;
int counter = 0;
for (int i=0; i < length; ++i) {
if ((num % 10) % 2 == 0) {
output += (num % 10) * Math.pow(10, counter);
++counter;
}
num = num / 10;
}
System.out.println(output);
2826
Demo
关于java - 从整数中删除数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48380682/