简单嵌套循环的逻辑问题

我正在尝试一个简单的嵌套循环。对于 num1 中的每个数字,应运行内部循环。对于以下数字,理想情况下输出应为:


num1 digit: 7

num2 digit: 4

num2 digit: 3

num1 digit: 5

num2 digit: 4

num2 digit: 3

但它不会第二次运行内部循环,因此它只打印以下内容:


num1 digit: 7

num2 digit: 4

num2 digit: 3

num1 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;

    }

}


莫回无
浏览 105回答 2
2回答

白板的微信

您正在更改循环内的 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;}

慕桂英3389331

您需要在 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; }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java