为什么当我在其中插入 2 个数字时,我的 java 代码会打印出 []

import java.util.LinkedList;

import java.util.Queue;

import java.util.Scanner;


public class forA1 {

     public static void main(String[] args) throws Exception{

            Scanner sc = new Scanner(System.in);

            String []num = sc.nextLine().split(" ");

            int n = Integer.parseInt(num[0]);

            int m = Integer.parseInt(num[1]);


            while(n != 0){

                // initialize the queue

                Queue<Integer> queue = new LinkedList<Integer>();

                queue.clear();

                for (int i = 1; i <= n; i++)

                    queue.add(i);


                //int res = 0;

                while (!queue.isEmpty()) {

                    for (int i = 0; i < m-1; i++)

                        queue.add(queue.remove());

                    queue.remove();

                }

                //System.out.println(res);

                //System.out.println(res);


                System.out.print(queue);


                String []num2 = sc.nextLine().split(" ");

                n = Integer.parseInt(num2[0]);

                m = Integer.parseInt(num2[1]);

            }

        }

}

当我插入 2 个数字时,它会打印出 []。请一些人向我解释为什么会发生这种情况,我是一名学生,所以如果我问的问题对其他人来说很容易,我深表歉意。


拉丁的传说
浏览 111回答 2
2回答

芜湖不芜

不确定你想用队列做什么,但因为你有条件while (!queue.isEmpty()),无论你在循环中做什么(除非你有某种 break 逻辑,感谢@Andy 的评论) 你要么永远不会离开它(即无限循环),或者在它之后获得一个空队列。如果你从&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; while (!queue.isEmpty()) {&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for (int i = 0; i < m-1; i++)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; queue.add(queue.remove());&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; queue.remove();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }至&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for (int i = 0; i < m-1; i++)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; queue.add(queue.remove());&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; queue.remove();您将能够看到一些非空输出(给定适当的m和n值)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java