Javaで最大公約数を求める
以下のようにgcd(a,b)を作って最大公約数を求めようと思ったのですが、繰り返しが終わらずに、公約数を求めることができませんでした。
どこが間違っているのでしょうか。
public static int gcd(int a, int b){
while(true){
System.out.println(a+" "+b);
if(b==0)return a;
gcd(b, a%b);
}
}
public static void main(String[] args){
int a,b;
Scanner scan=new Scanner(System.in);
a=scan.nextInt();
b=scan.nextInt();
System.out.println(gcd(a,b));
scan.close();