- 建立一個類,在類里面完成對兩個數求最大公約數和最小公倍數。最大公約數可以用輾轉相除法直到兩數的余數為0,即可得到兩個數的最大公約數。而最小公倍數就可以直接讓兩個數相乘,再除以最大公約數。這里要注意,在求最大公約數的時候,兩個數的值都發生了改變,所以我們要用其他的兩個變量將兩個數一開始的值存起來,再來進行求最大公約數。最后再用兩個函數返回最大公約數和最小公倍數的值即可。
public class beishu { int a,b,m,n,c; public beishu(int a,int b) { this.a=a; this.b=b; m=a; n=b; } public void Compare() { while(b!=0) { c=a%b; a=b; b=c; } } public int getyue() { return a; } public int getbei() { return m*n/a; } }
- 主函數主要難點在於要輸入,我用的是Scanner函數,但是再用函數之前要先在開頭加上import java.util.Scanner;否則就會報錯。這里最好還是將輸入的兩個數進行比較,把較大的數放在第一個變量,就可以直接引用求最大公約數的函數了。然后輸出最大公約數,和最小公倍數即可。
import java.util.Scanner; public class beishumain { public static void main(String[] args) { // TODO Auto-generated method stub int a,b,i; System.out.println("請輸入想要比較的數:"); Scanner sc=new Scanner(System.in); a=sc.nextInt(); b=sc.nextInt(); if(a<b) { i=a; a=b; b=i; } beishu c1=new beishu(a,b); c1.Compare(); System.out.println(c1.getyue()); System.out.println(c1.getbei()); } }
- 實驗結果為