Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从C#到Java_C#_Java - Fatal编程技术网

从C#到Java

从C#到Java,c#,java,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 Que

有人能帮我把这个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;
    }
静态队列半径排序(队列项目,整数位数)
{
整数位数=位数-1;
而(数字>=0)
{
队列零=新队列();
队列一=新队列();
队列二=新队列();
队列三=新队列();
队列四=新队列();
队列五=新队列();
队列六=新队列();
队列七=新队列();
队列八=新队列();
队列九=新队列();
int UpperLimit=Items.Count;
int计数器=1;
而(counter在Java中,您可以编写

for (int i : <QueueName>)
{
}
for(int i:)
{
}
(至于清理和重构代码的其余部分,我将这一点留给您:D)

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

在Java中,你可以编写

for (int i : <QueueName>)
{
}
for(int Digit = Digits-1; Digit >= 0; Digit--) {
    // Your code here
}
for(int i:)
{
}
(至于清理和重构代码的其余部分,我将这一点留给您:D)

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

for(int Digit = Digits-1; Digit >= 0; Digit--) {
    // Your code here
}

编译时,它们是相同的:)


编译时,它们是相同的:

为什么你不使用队列数组?你到底想做什么?不是我的代码。但是在java代码中需要那个函数。是我还是这个尖叫?DayIyWTFF.认真地,我甚至不考虑移植这个代码。完全糟糕的设计。查看Java的集合类和比较器。使用一堆这样的队列对另一个队列的内容进行排序……真是疯狂!的确。“Wtf?”:-)不仅可以移植它,而且可以在1/4(或更少)的时间内完成行。为什么不使用一个队列数组?你到底想做什么?不是我的代码。但是在java代码中需要那个函数。是我还是这个尖叫?DayIyWTFF.认真地,我甚至不考虑移植这个代码。没有花时间去真正地分解它,它看起来是一个完全糟糕的设计。Java的集合类和比较器。使用一堆这样的队列对另一个队列的内容进行排序…疯狂!的确。“Wtf?”:-)不仅可以移植它,而且可以在1/4(或更少)行内完成。所有其余的都应该非常相似。所有其余的都应该非常相似。