Java 是否需要通过不使用0?0表单来编写此代码?
编辑:Java 是否需要通过不使用0?0表单来编写此代码?,java,Java,编辑: public static intcountDigitX(int n, int x) { int result; if( n == 0 ) { result = 0; } else { if( n % 10 == x ) { result = 1; } else { result = 0; } result += countDigitX(
public static intcountDigitX(int n, int x) {
int result;
if( n == 0 ) {
result = 0;
} else {
if( n % 10 == x ) {
result = 1;
} else {
result = 0;
}
result += countDigitX(n/10, x);
}
return result;
}
您可以按如下方式重写它:
if(n==0) {
return 0
}else if(n%10==x){
return 1+countDigitX(n/10,x);
}else{
return 0+countDigitX(n/10,x);
}
你能提供一些关于你的问题的细节吗?你明白条件运算符的作用吗?如果是这样,重写它应该相当容易。如果没有,,问题是:编写一个递归Java方法countDigitx,将两个整数作为输入,一个数字n和一个数字x,并返回数字n中出现数字x的次数:例如,如果n=23242和x=2,则该方法应返回3,即在n中找到的数字2的次数。将问题放入实际问题请提问,不要埋没在评论中。@ScottMcGready:那不是真正的问题,那只是家庭作业。问题是如何从三元语法迁移出去。非常感谢我的朋友,当n==0时,这似乎不会返回0,而原始代码会这样做。
if(n==0) {
return 0
}else if(n%10==x){
return 1+countDigitX(n/10,x);
}else{
return 0+countDigitX(n/10,x);
}
public static int intcountDigitX(int n, int x) {
if (n == 0) {
return 0;
} else if (n % 10 == x) {
return 1 + countDigitX(n / 10, x);
}
return 0 + countDigitX(n / 10, x);
}