初学,请帮小弟. 运行结果已经写出帮看一下原因。万分感谢

import java.util.Scanner;

public class UseRecursion
{
public static void main(String[] args)
{
Scanner scanner =new Scanner(System.in);

    System.out.println("输入两数:");
    System.out.print("m=");
    int m = scanner.nextInt();

    System.out.print("n=");
    int n = scanner.nextInt();

    System.out.println("GCD:"+ gcd(m, n));

private static int gcd(int m, int n)//辗转相除法球最大公因式
{
     if(n == 0)
        return m;
     else
        return gcd(n, m % n);
    }
}

}
/*等价于下面的循环调用:
private static int gcd(int m,int n)
{
int r;
while(n!=0)
{
r = m % n;
m=n;
n=r;
}
return m;
}
*/

结果:
UseRecursion.java:24: 非法的表达式开始
private static int gcd(int m, int n)//辗转相除法球最大公因式
^
UseRecursion.java:24: 非法的表达式开始
private static int gcd(int m, int n)//辗转相除法球最大公因式
^
UseRecursion.java:24: 需要 ';'
private static int gcd(int m, int n)//辗转相除法球最大公因式
^
UseRecursion.java:24: 需要 ".class"
private static int gcd(int m, int n)//辗转相除法球最大公因式
^
UseRecursion.java:24: 需要 ';'
private static int gcd(int m, int n)//辗转相除法球最大公因式
^
UseRecursion.java:24: 需要 ';'
private static int gcd(int m, int n)//辗转相除法球最大公因式
^

你的递归函数跑到main函数里面去了。还在用记事本编辑java呢? :lol: