求问java中同时出现for和while,这该按什么顺序执行?

2024-11-28 09:44:17
推荐回答(3个)
回答1:

import java.util.Scanner;


public class Main{

  public static void main(String args[]){

      int ri, repeat;

      int i, digit, m, n, number, sum;

      Scanner in=new Scanner(System.in);

  •       System.out.print("请输入重复次数:");

      repeat=in.nextInt();

      for(ri=1; ri<=repeat; ri++){

  •         System.out.print("(第" + ri + "次)请输入m:");

        m=in.nextInt();

  •         System.out.print("(第" + ri + "次)请输入n:");

        n=in.nextInt();

         for(i=m;i<=n;i++)

         {

        number=i;sum=0;

        while(number!=0)

        {

        digit=number%10;

        sum+=digit*digit*digit;

        number/=10;

        }

        if(sum==i) System.out.println(i);

         }

      }

  •       in.close();

   }

}

首先将你的代码修改了一下,就打点的那几行


然后针对你的问题:

1、循环执行都是最外层循环执行到最内层循环,

2、内层循环执行完了,才退出循环,进而执行下一次外层循环

所以你这段代码

1、首先进入并执行第一次“for(ri=1; ri<=repeat; ri++){”这个循环块

2、再进入并执行第一次“for(i=m;i<=n;i++)”这个循环块

3、最后进入并执行完成“while(number!=0)”这个循环块

4、循环3完全执行完成之后,退出循环进入循环2执行第2次循环(在有第二次循环的前提下),如此往复直到循环2完全执行完成,再退出循环2进入循环1执行第2次循环(在有第二次循环的前提下),也如此往复直到循环1也完全执行完成,整个代码块执行完毕


你想问的是这个吗?还是说其他什么意思?

回答2:

这个是在一个线程里执行,先执行外层for,条件满足执行内层for 条件满足 执行while 条件true执行

回答3:

这个肯定是从外到内的,建议你加个断点debug下,让别人讲你永远都不会懂得