注册 登录
编程论坛 JAVA论坛

Exception in thread "main" java.lang.StackOverflowError请问怎么改程序

koalaaa 发布于 2018-06-05 15:33, 1895 次点击
只有本站会员才能查看附件,请 登录

请问问题出在哪里呢?需要怎么改?
2 回复
#2
疯狂的小a2018-06-10 18:57
import java.util.Scanner;
 
public class demo03 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int a = in.nextInt(); //接收两个整数
        int b = in.nextInt();
        int i = 0;
        //计算出公倍数
        while(true){
            i++;
            if(i%a==0 && i%b==0 && i>=a && i>=b){
                System.out.println("最小公倍数为:"+i);
                i=0; //重置i为0
                break;
            }
        }
        //计算公约数
        int yue = 0;
        while(true){
            i++;
            if(a%i==0 && b%i==0){
                yue = i;
            }
            if(i>a || i>b)break;
        }
        System.out.println("最大公约数为:"+yue);
    }
}
1