- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个像这样的二维数组
share [] [] = new share [shares][m+1];
什么时候
int m= secret.length;
在哪里
byte [] secret = one.readFile () ;
所以 m 的大小是我的大小(以字节为单位)现在,当我浏览二维数组的列时,每一列代表文件的一个字节,所以假设文件文本是 hello,第一列代表 h ,第二列代表 e 等等
这些行代表份额,这意味着如果我将 main 作为份额值设置为 7,我们将有 7 行。现在我想做的就是这样的事情
for (byte coeff: secret ) { // so now i know i am fixing rows
for (int j=0 ; j<shares; j++ ) { // now i am itereating through rows and my column is fixed
} // close inner loop
} // close loop which go through rows
现在我想做但无法做的是我想填充二维数组的每个单元格
我想使用
share [j] [//here i do not hot what to put] = (byte) evaluate(share[j][0], a);
其中(字节)评估(share[j][0],a);是我想要放在二维数组的每个单元格上的多项式的值,我想按照上面提到的通过固定列和遍历行来填充它。 H. 如果有人能帮助我那就完美了。
最佳答案
因此,如果我正确理解您的问题,您希望通过首先遍历每一列然后遍历每一行来迭代数组。并且你想将数组的每个元素的值设置为 evaluate(share[j][0], a)
.
如果是这样,可以使用以下逻辑来设置数组每个元素的值:
for(int i=0; i<m+1; i++) { // iterating over columns
for(int j=0; j<shares; j++) { //iterating over rows
share[j][i] = evaluate(share[j][0], a);
}
}
引用发帖者的评论,最外面的 for 循环正在迭代数组 share 中每个出现的字节。根据原始评论,int m = secret.length
哪里byte[] secret = one.readLine()
。实际上,这意味着 int m = one.readLine().length
.
所以当我说for(int i=0; i<m+1; i++) {...}
时,我是说,对于文件中每次出现的字节(由变量 i
的值定义),执行内部 for 循环。
您可以将最外层的 for 循环替换为 for(byte coeff: secret) {...}
,并且循环相同次数会有相同的效果。第二种方法称为 enhanced for statement 。但使用第二种方法时,会产生确定 coeff
位置的开销。在数组 secret 中。你需要它来设置数组的值(我看到你的评论[//这里我不喜欢放什么]:))。第一种方法可以轻松解决这个问题。
以我的拙见,如果您想在该位置使用该数组中元素的值,则循环数组的方法非常有用。在这种情况下,您实际上只对元素的位置值感兴趣,并且使用第一种方法会更好。
如果我的回答有帮助,请投票:)
关于java - 如何通过固定列和遍历行来填充二维数组的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35821894/
我是一名优秀的程序员,十分优秀!