从C#到Java
有人能帮我把这个C#函数转换成java函数吗 我可以做一些简单的for循环而不是所有这些foreach吗从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
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(或更少)行内完成。所有其余的都应该非常相似。所有其余的都应该非常相似。