小弟初学JAVA,一编程问题,请指教!!!

来源:百度知道 编辑:UC知道 时间:2024/05/22 15:30:56
以前都是面向过程编程,现在初试面向对象,不太熟悉,请指教一下这个题!
问题:
编写两个类:A和B,类A创建的对象可以计算两个正整数的最大公约数,类B创建的对象可以计算两个数的最小公倍数.要求:类B中有一个成员变量是用A的声明对象.

请将此程序写出来,让小弟参考一下!拜托!

这里是用类B继承类A。或者就是把B类下面的return那里的super().greatestCommonDenominator(a, b)拿开,去掉上面的extends A。而后先在return上面加一句int x = new A().greatestCommonDenominator(a, b),再return a*b/x;

其实怎么做思路都一样。

class A {

/**
* 求最大公约数
*/

protected int greatestCommonDenominator(int a, int b) {
int temp;

if (a < b) {
a = a + b;
b = a - b;
a = a - b;
}

while (b != 0) {
temp = a % b;
a = b;
b = temp;
}

return a;
}
}

class B extends A{

/**
* 求最小公倍数
*/
protected int lowestCommonMultiple(int a, int b){
return a*b/super.greatestCommonDenominator(a, b);
}
}

public class Result {

public static void main(String[] args) {
A resultA = new A();
B resultB = new B();

java.util.Scanner scan = new java.util.Scanner(System.in);
System.out.println("输入两个数:&quo