编写两个类:A和B,在类A中有一个方法,其功能是计算两个正整数的最大公约数?

如题所述

import java.util.Scanner;
class A //计算2个正整数的最大公约数
{

int max=0;
public int big(int x,int y)
{
int temp=0;
if(x<y)/*交换两个数,使大数放在x上*/
{ temp=x;
x=y;
y=temp;
}

while(y!=0)/*利用辗除法,直到y为0为止*/
{
temp=x%y;
x=y;
y=temp;
}
return x;
}
}
class B  //计算2个正整数的最小公倍数
{
int min=0;
A l=new A();
public int small(int x,int y)
{
min=x*y/l.big(x,y);
return min;
}}
public class gbs
{
public static void main(String args[])
{
System.out.print("计算2个正整数的最大公约数");
System.out.print("请输入两个数:");

Scanner cin=new Scanner(System.in);
int m=cin.nextInt(),n=cin.nextInt();
A a=new A();
System.out.println("最大公约数为:"+a.big(m,n));
B b=new B();
System.out.println("最小公倍数为:"+b.small(m,n));
}
}

知道合伙人


温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-01-25
import java.util.Scanner;
class A //计算2个正整数的最大公约数
{

int max=0;
public int big(int x,int y)
{
int temp=0;
if(x<y)/*交换两个数,使大数放在x上*/
{ temp=x;
x=y;
y=temp;
}

while(y!=0)/*利用辗除法,直到y为0为止*/
{
temp=x%y;
x=y;
y=temp;
}
return x;
}
}
class B //计算2个正整数的最小公倍数
{
int min=0;
A l=new A();
public int small(int x,int y)
{
min=x*y/l.big(x,y);
return min;
}}
public class gbs
{
public static void main(String args[])
{
System.out.print("计算2个正整数的最大公约数");
System.out.print("请输入两个数:");

Scanner cin=new Scanner(System.in);
int m=cin.nextInt(),n=cin.nextInt();
A a=new A();
System.out.println("最大公约数为:"+a.big(m,n));
B b=new B();
System.out.println("最小公倍数为:"+b.small(m,n));
}
}
相似回答