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)//辗转相除法球最大公因式
^