qq_53833871
java算法
采纳率100%
2021-03-01 23:00

求大佬解释一下这个怎么算的!!!!

已采纳

public class Qiu {
    public static void main (string []args) {
    int j=0;
    for (int i=3;i>0;i--){
    j+=i;
   int x=2;
   while(x<j){
   x+=1;
 System.out.print(x)

输出结果为33453456;第二个3怎么算出来的,这个for循环和while循环嵌套有什么注意的,我只算出了第一个3,后面的就不知道怎么来的,求大佬解释!!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • weixin_45476644 weixin_45476644 1月前

    第一次:j = 3,i = 3,x = 2; x < j = true x = 2 + 1  -->  x < j = flase  i--

    第二次:j = 5,i = 2,x = 2; x < j = true x = 2 + 1 = 3  -->  x < j = true  x =3 + 1 =  4  -->  x < j = flase  i--

    ......

    点赞 1 评论 复制链接分享
  • xionglangs 编程爱好者熊浪 1月前

    第一次:i=3;j=3;x=2; 2<3; 打印 2+1=3

    第二次:i=2;j=3+2=5;x=2;2<5;打印 2+1=3;3+1=4;4+1=5; 5不大于5

    第三次:i=1;j=5+1=6;x=2;2<6;打印 2+1=3;3+1=4;4+1=5;5+1=6; 6不大于6

    第四次:i=0不大于0,退出,所以打印 33453456

    点赞 1 评论 复制链接分享
  • qq_34124780 qq_34124780 1月前

    你要先理解。for(A;B;C)中,先判断条件B是否满足,满足的话执行for循环,然后将C中的变量改变,在判断条件是否满足,以此循环。

    而while不一样,while(A)是先判断表达式A是否满足,满足就执行while循环,然后在判断条件是否满足。你这个能理解了,上面的结果就很容易了。

    点赞 1 评论 复制链接分享

为你推荐