gpt4 book ai didi

java - 将偶数位改为零的方法

转载 作者:行者123 更新时间:2023-12-02 11:43:09 26 4
gpt4 key购买 nike

我需要编写一个方法来接收数字,并且对于其中的任何偶数位,将其替换为 0 数字。

我认为我正朝着正确的方向前进,但是当我使用调试器运行它时,我发现偶数在偶数位中没有返回到 0。

这就是我到目前为止所拥有的。

我知道我的英语很差,所以这里有一个示例。

For the number 12345, the method should return 10305 For the number 332, the method should return 330.

我希望这是可以理解的。这是我的代码:

public class Assignment1 {

public static void main(String[] args) {
System.out.println(Even(12345));
}

private static int Even(int n) {
if (n == 0 ) {
return 0 ;
}
if (n % 2 == 0) { // if its even
n= n/10*10; // we cut the right digit from even number to 0
return (n/10 %10 ) + Even(n/10)*0;
}
return Even(n/10)*10 +n;
}
}

最佳答案

您的基本情况仅检查数字是否为零。检查此解决方案,如果您有疑问,请告诉我!

public int evenToZero(int number){

//Base case: Only one digit
if(number % 10 == number){
if(number % 2 == 0){
return 0;
}
else{
return number
}
}
else{ //Recursive case: Number of two or more digits
//Get last digit
int lastDigit = number % 10;
//Check if it is even, and change it to zero
if(lastDigit % 2 == 0){
lastDigit = 0;
}
//Recursive call
return evenToZero(number/10)*10 + lastDigit
}
}

关于java - 将偶数位改为零的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48388096/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com