JAVA最大的常见除数递归

时间:2015-03-08 15:16:00

标签: java recursion

我无法让它运行。下面有一个测试程序和方法。它说错误标识符expect.Thanks提前

public class 121tester{
   public static void main(String[]args){
      Scanner input= new Scanner(System.in)
      System.out.println("Enter first number");
      int num1=input.nextInt();
      System.out.println("Enter second number");
      int num2=input.nextInt();
      System.out.println("The Greatest common factor of "+num1+" "+num2+" is "+GCD(num1,num2));

   } 
}


private static int GCD(int num1, int num2){
   if(num2==0){
   return num1;
   }
   return(GCD(num2, num1%num2);

}

2 个答案:

答案 0 :(得分:0)

班级名称不能以数字开头。改变

class 121tester

class Tester121

你的GCD方法应该在内部类中声明的另一件事。最好在编程的初始阶段使用一些IDE来消除编译器错误。

答案 1 :(得分:0)

尝试以下方法:

import java.util.Scanner;

public class GCDTester{

   public static void main(String[] args){
       Scanner input = new Scanner(System.in);
       System.out.println("Enter first number");
       int num1 = input.nextInt();
       System.out.println("Enter second number");
       int num2 = input.nextInt();
       System.out.println("The greatest common factor of " + num1 + " " + num2 + " is " + gcd(num1,num2));
  }

  private static int gcd(int num1, int num2){
     if (num2 == 0) {
         return num1;
     }
     return gcd(num2, num1 % num2);
 }

}

但是@Masud是正确的,你应该将gcd方法放在它自己的类中,以便它可以作为一个对象使用。