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

这里是原题importjava.util.Scanner;publicclassTest40022{publicstaticvoidmain(Stringargs[]){... 这里是原题
import java.util.Scanner;
public class Test40022{
public static void main(String args[]){
int ri, repeat;
int i, digit, m, n, number, sum;
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
for(ri=1; ri<=repeat; ri++){
m=in.nextInt();
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);
}
}
}
}
while是嵌在了for里面吧,应该先执行哪个呢 求详解
展开
 我来答
会飞的浩子
2014-05-07 · TA获得超过113个赞
知道答主
回答量:37
采纳率:100%
帮助的人:20.3万
展开全部

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也完全执行完成,整个代码块执行完毕


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

百度网友7d376ab
2014-05-07 · 超过23用户采纳过TA的回答
知道答主
回答量:104
采纳率:0%
帮助的人:61.9万
展开全部
这个是在一个线程里执行,先执行外层for,条件满足执行内层for 条件满足 执行while 条件true执行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
那一天的蒲公英
2014-05-07 · TA获得超过139个赞
知道小有建树答主
回答量:140
采纳率:100%
帮助的人:91.7万
展开全部
这个肯定是从外到内的,建议你加个断点debug下,让别人讲你永远都不会懂得
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式