关于#执行#的问题,如何解决?

Scanner scan = new Scanner(System.in);
System.out.print("请你输入第一个正整数: ");
int m = scan.nextInt();
System.out.print("请你输入第er个正整数: ");
int n = scan.nextInt();

    for (int i=2;i>0; ){
    if (m%i==0 && n%i==0){
        System.out.print("他们的最大公约数是: "+ i);
        break;
        }
        
        }
    for (int i=2;i>0; ){
    if (i%m==0 && i%n==0){
        System.out.print("他们的最大倍约数是: "+ i);
        break;

编译执行通过,输入数字后就没反应了?

for缺少第三个条件表达式导致 I 不变死循环了
for (int i=2;i>0; i-- )

你这个代码不完整吧,把完整代码放出来看看。