这是我的Python代码
def string(data):
n=0
while True:
yield data[n]
n+=1
n%=len(data)
下面是我调用string
方法的Java代码:
for(int i = 0; i < lengthText; i++) {
out[i] += string(t1) ^ string(t2);
}
以及string
方法:
public byte string(byte[] a){
int i = -1;
while(true){
i++;
i%= a.length;
return a[i];
}
}
如果我理解正确,它应该返回序列数据中的下一项,一旦序列结束-带你到开始,依此类推到无穷大。你知道吗
Java中没有直接替代
yield
的方法。你可以试着用一些小班来模拟它然后像这样使用它:
在这种情况下,您需要记住
yield
是Python特定的元素,要在Java中使用它,首先需要找到一些共同点—您可以通过仔细分析函数实际执行的操作来实现这一点。你知道吗另一方面,你对发电机的使用是无效的。您应该首先使用参数对其进行初始化,然后获得结果序列:
Java代码基本上是一个无限循环的集合,这些循环在第一次迭代时就被破坏了。在尝试将
yield
视为return
之前,您应该进一步了解python中return
和yield
之间的区别。你知道吗编辑:根据您的描述,您需要:
其中
data1
和data2
都是byte[]
类型。如果它们的长度保证相等,你可以跳过Math.min
这件事。你知道吗相关问题 更多 >
编程相关推荐