import java.util.Scanner;
public class Test2 {
public static void main(String[] args) {
//输入数据,要求正整数
Scanner sc= new Scanner(System.in);
int k1=0;
System.out.println("请输入第一个正整数");
while(true){
k1=sc.nextInt();
if(k1<=0)
System.out.println("输入数据不合法,请重新输入");
else
break;
}
int k2=0;
System.out.println("请输入第二个正整数");
while(true) {
k2=sc.nextInt();
if(k2<=0)
System.out.println("输入数据不合法,请重新输入");
else
break;
}
//获取最大公约数
//从两个数的较小的一方开始进行尝试,如果两个都能够整除则就是最大公约数
int yueshu=-1;
int min=Math.min(k1, k2);
for(int k =min;k>2;k--) {
if(k1%k==0 && k2%k==0) {
yueshu=k;
break;
}
}
//获取最小公倍数
//从两个数中较大的一方开始进行尝试,直到两个数相乘为止。第一个可以两个数都能除尽的就是最小公倍数
int beishu=-1;
int max=Math.max(k1, k2);
for(int k=max;k<k1*k2;k++) {
if(k%k1==0 && k%k2==0) {
beishu=k;
break;
}
}
//输出
if(yueshu==-1)
System.out.println(k1+"和"+k2+"互质");
else
System.out.println(k1+"和"+k2+"的最大公约数"+yueshu);
if(beishu!=-1)
System.out.println(k1+"和"+k2+"的最小公倍数"+beishu);
}
}
本次学习了新的Java语言