class Hdigui
{
public static void main(String[]args)
{
Hdigui a = new Hdigui();
a.gcd(6,8);
}
static int gcd(int n ,int m)
{
int temp ; while(m!=0)
{
temp = n;
n = m;
m = temp % m;
} return m;
}
}

解决方案 »

  1.   

    public static void main(String[]args)
    {
    Hdigui a = new Hdigui();
    System.out.println(a.gcd(6,8));
    }
      

  2.   

    你的gcd(int a, int b)函数也没有写对,这样取不到最大公约数的.
      

  3.   

    static int gcd(int n ,int m) {
    int temp = 0;
    int max;
    int min;
    if (n <= m) {
    min = n;
    max = m;
    } else {
    min = n;
    max = m;
    }
    if (max % min == 0) {
    temp = min;
    } else {
    for (int i = (min / 2); i > 0; i--) {
    if (min % 2 != 0) {
    i = i - 1;
    }
    if (max % i == 0) {
    temp = i;
    break;
    } else {
    temp = 1;
    }
    }
    }
    return temp;
    }
    方法写的很累赘,很希望大虾们指点下.