java验证递归,代码报错了

java代码和视屏上一样,为什么会报错呢?
我下个代码验证下factor函数的递归。


public class text {
//     public static void sum(int a, int b)
// {
//     int i;
//     int sum=0 ;
//     for (i=a; i<=b; i++)
//     {
//     sum +=i; 
//     }
//     System.out.println(a+"到"+b+"的和是"+sum);
// }

public static int factor(int i)
 {
    if (i == 1)
    return i;
    return i*factor(i-1);
 }

public static void main(String[] args){
//     sum(1,20);
// sum(20, 30);

int k;
k=factor(3);
System.out.println(k);
}

}


 

ChatGPT

这段 Java 代码定义了一个名为 "text" 的类,其中包含了三个方法:sum、factor 和 main。

sum 方法接收两个整数参数 a 和 b,通过 for 循环计算从 a 到 b 的整数之和,并将结果输出到控制台。

factor 方法接收一个整数参数 i,使用递归的方式计算 i 的阶乘,并返回结果。

main 方法是程序的入口点,其中注释掉了两次对 sum 方法的调用,而调用了 factor 方法并将其返回值赋值给变量 k,最后将 k 的值输出到控制台。

因此,该程序主要是演示了如何定义并调用方法来完成一些计算任务。

img

你代码里是不是还有些别的没有删除干净?就以上代码应该是正确的。
重新创建一个项目看看

你这个明显是乱码了,调整下编译器的编码