为了账号安全,请及时绑定邮箱和手机立即绑定

简单嵌套循环的逻辑问题

简单嵌套循环的逻辑问题

莫回无 2023-10-13 10:34:12
我正在尝试一个简单的嵌套循环。对于 num1 中的每个数字,应运行内部循环。对于以下数字,理想情况下输出应为:num1 digit: 7num2 digit: 4num2 digit: 3num1 digit: 5num2 digit: 4num2 digit: 3但它不会第二次运行内部循环,因此它只打印以下内容:num1 digit: 7num2 digit: 4num2 digit: 3num1 digit: 5逻辑有什么问题吗?num1 = 57;num2 = 34;while ( num1 > 0 ) {    digit1 = num1 % 10;    num1 = num1 / 10;    System.out.println("num1 digit: " + digit1);    while (num2 > 0 ) {        digit2 = num2 % 10;        System.out.println("num2 digit: " + digit2);        num2 = num2 / 10;    }}
查看完整描述

2 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

您正在更改循环内的 num2,请尝试使用以下内容:


num1 = 57;

num2 = 34;

int tempNum2 = num2;

while ( num1 > 0 ) {


    digit1 = num1 % 10;

    num1 = num1 / 10;

    System.out.println("num1 digit: " + digit1);


    while (tempNum2 > 0 ) {

        digit2 = tempNum2 % 10;

        System.out.println("num2 digit: " + digit2);

        tempNum2 = tempNum2 / 10;

    }

    tempNum2 = num2;

}


查看完整回答
反对 回复 2023-10-13
?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

您需要在 num1 > 0 的 while 循环中重新声明 num2 整数,才能再次运行 num2 > 0;


int num1 = 57;

int num2 = 34;

while ( num1 > 0 ) {

    digit1 = num1 % 10;

    num1 = num1 / 10;

    System.out.println("num1 digit: " + digit1);


    while (num2 > 0 ) {

         digit2 = num2 % 10;

         System.out.println("num2 digit: " + digit2);

         num2 = num2 / 10;

    }


    //Add here

    num2 = 34;

 }


查看完整回答
反对 回复 2023-10-13
  • 2 回答
  • 0 关注
  • 68 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信