展开全部
package sum;
public class Add {
public static void main(String[] args) {
62616964757a686964616fe58685e5aeb931333335303538
int sum = 0, n = 1;
Ooo(sum, n);
}
public static void Ooo(int sum, int n) {
// 条件表达式不能取代一般的if语句,仅当if语句中内嵌的语句为赋值语句(且两个分支都给同一变量赋值)时才能代替if语句
if (n >= 100)
System.out.println(sum + n);
else
System.out.println(sum + n);
Ooo(sum, ++n);
}
}
具体原因分析:package sum;
public class Add {
public static void main(String[] args) {
int a = 3;
if (a % 2 == 0)
System.out.println("even/n");
else
System.out.println("odd/n");
//如果你想要用三目运算符来改写上面的代码,比如:
//(a%2==0)?System.out.println("even/n"):System.out.println("odd/n");
//这样做是错误的,不过可以改写成
System.out.println(a%2==0?"even":"odd");
}
}
所以你的代码也可以改写成:package sum;
public class Add {
public void mian(String[] args) {
}
public static void main(String[] args) {
int sum = 0, n = 1;
new Add().ooo(sum, n);
}
public void ooo(int sum, int n) {
// 现在更简洁的了
System.out.println(n >= 100 ? sum + n : sum + n);
ooo(sum, ++n);
}
}
修改有问题的代码:package sum;
public class Add {
public void mian(String[] args) {
}
public static void main(String[] args) {
int sum = 0, n = 1;
new Add().ooo(sum, n);
}
public void ooo(int sum, int n) {
// 你的程序是有问题的
//可能你是学习到三目运算符,然后就死活要运用三目运算符,不过这个场景是不适合的
if(n
sum = sum + n;
ooo(sum, ++n);
}else if(n == 100){
sum = sum + n;
System.out.println(sum);
}
}
}