Java中的C#IEnumerable
我如何用java编写这个c#IEnumerableJava中的C#IEnumerable,java,c#,iterator,ienumerable,iterable,Java,C#,Iterator,Ienumerable,Iterable,我如何用java编写这个c#IEnumerable public class Generator { private char[] characters; public Generator(char[] characters) { this.characters = characters; } public IEnumerable<string> GetStri
public class Generator
{
private char[] characters;
public Generator(char[] characters)
{
this.characters = characters;
}
public IEnumerable<string> GetStrings(int totalDigit)
{
if (totalDigit > 0)
{
foreach (char c in characters)
{
foreach (string next in GetStrings(totalDigit - 1))
{
yield return c + next;
}
}
}
else
{
yield return string.Empty;
}
}
}
class Program
{
static void Main(string[] args)
{
int maxDigit = 2;
char[] characters = "abc".ToCharArray();
Generator generator = new Generator(characters);
for (int i = 1; i <= maxDigit; i++)
{
Console.WriteLine(i +" Digit");
foreach(string word in generator.GetStrings(i))
{
Console.WriteLine(word);
}
}
}
}
我试图用java制作单词列表生成器,但我无法用java编写这个c#enuable。
我在StackOverflow中阅读了很多文档、教程和问答,在java中使用了iterable和迭代器,但仍然没有结果
我希望你能帮助我
谢谢这可能有助于你回答我不知道Java的问题,但你可以看到C#编译成什么。你能给我们看一下你那不起作用的可移植代码吗?IEnumerable在C#中是一个负载相当大的类;为什么上那门课?如果实际的目标是无止境地生成元素,那么Iterable可能是正确的方法。不过,Iterable在Java中非常有限,因此它可能有助于理解您的用例。
1 Digit
a
b
c
2 Digit
aa
ab
ac
ba
bb
bc
ca
cb
cc
Press any key to continue . . .