从C#到Java

kru*_*son 0 c# java

有人可以帮我把这个C#函数转换成java函数吗?

我可以做一些简单的for循环而不是所有这些foreach吗?

 static Queue RadixSort(Queue Items, int Digits)
    {

        int Digit = Digits - 1;
        while (Digit >= 0)
        {
            Queue Zero = new Queue();
            Queue One = new Queue();
            Queue Two = new Queue();
            Queue Three = new Queue();
            Queue Four = new Queue();
            Queue Five = new Queue();
            Queue Six = new Queue();
            Queue Seven = new Queue();
            Queue Eight = new Queue();
            Queue Nine = new Queue();
            int UpperLimit = Items.Count;
            int counter = 1;
            while (counter <= UpperLimit)
            {
                int i = Convert.ToInt32(Items.Dequeue());
                counter++;

                switch (i.ToString().PadLeft(Digits, '0')[Digit])
                {
                    case '0':
                        Zero.Enqueue(i);
                        continue;
                    case '1':
                        One.Enqueue(i);
                        continue;
                    case '2':
                        Two.Enqueue(i);
                        continue;
                    case '3':
                        Three.Enqueue(i);
                        continue;
                    case '4':
                        Four.Enqueue(i);
                        continue;
                    case '5':
                        Five.Enqueue(i);
                        continue;
                    case '6':
                        Six.Enqueue(i);
                        continue;
                    case '7':
                        Seven.Enqueue(i);
                        continue;
                    case '8':
                        Eight.Enqueue(i);
                        continue;
                    case '9':
                        Nine.Enqueue(i);
                        continue;
                }
            }
            Items = new Queue();
            foreach (int i in Zero)
            {
                Items.Enqueue(i);
            }
            foreach (int i in One)
            {
                Items.Enqueue(i);
            }
            foreach (int i in Two)
            {
                Items.Enqueue(i);
            }
            foreach (int i in Three)
            {
                Items.Enqueue(i);
            }
            foreach (int i in Four)
            {
                Items.Enqueue(i);
            }
            foreach (int i in Five)
            {
                Items.Enqueue(i);
            }
            foreach (int i in Six)
            {
                Items.Enqueue(i);
            }
            foreach (int i in Seven)
            {
                Items.Enqueue(i);
            }
            foreach (int i in Eight)
            {
                Items.Enqueue(i);
            }
            foreach (int i in Nine)
            {
                Items.Enqueue(i);
            }
            Digit--;
        }
        return Items;
    }
Run Code Online (Sandbox Code Playgroud)

Dyl*_*les 5

在Java中,您可以编写

for (int i : <QueueName>)
{
}
Run Code Online (Sandbox Code Playgroud)

(至于清理和重构剩下的代码,我把它留给你:D)

祝你好运,我希望有所帮助!