gpt4 book ai didi

Java-构建一个用零替换偶数的递归

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:42:02 26 4
gpt4 key购买 nike

你好,我需要构建一个递归,用零替换偶数:例如 - 数字 1254 将是 1050数字 332- 将是 330而数字 24 - 将是 0

我开始研究它,但过了一会儿就变得毫 headless 绪

 public static int replaceEvenDigitsWithZero(int number){
if(number<1)
return number;
if(number%2==0 && number%10!=0){
int temp=number%10;
return(number/10+replaceEvenDigitsWithZero(number-temp));
}
return(replaceEvenDigitsWithZero(number/10));
}
public static void main(String[] args) {
int num1 = 1254;
System.out.println(num1 + " --> " + replaceEvenDigitsWithZero(num1));

int num2 = 332;
System.out.println(num2 + " --> " + replaceEvenDigitsWithZero(num2));

int num3 = 24;
System.out.println(num3 + " --> " + replaceEvenDigitsWithZero(num3));

int num4 = 13;
System.out.println(num4 + " --> " + replaceEvenDigitsWithZero(num4));
}

}

最佳答案

由于您的方法只查看最后一位数字,因此当 input >= 10 时,它应该始终使用 input/10 调用自身。

然后,您获取递归返回的值,将其乘以 10,如果是奇数,则将最后一位数字加回去。

public static int replaceEvenDigitsWithZero(int number) {
int result = 0;
if (number >= 10)
result = replaceEvenDigitsWithZero(number / 10) * 10;
if (number % 2 != 0)
result += number % 10;
return result;
}

关于Java-构建一个用零替换偶数的递归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34918330/

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