我有以下Java代码,我想了解它的计算方式。
我知道它打印出 1,1,0,0;
但根据我自己的“计算”,它应该打印出类似 3,4,10 的东西,当然是我的方式我的想法一定是错误的,但我不太确定,我的错误是什么。
无论如何,代码是:
public class Q11aFrom2013 {
public static void main(String[] args) {
int[] r = { 2, 3, 7, 12, 10 };
for (int i = 0; i < r.length - 1; i++)
System.out.println(f(r[i + 1]));
}
public static int f(int r) {
return r % 2;
}
}
我还记录了自己的计算,请随意检查下面的图片,以便查看或找出并可能告诉我我做错了什么,提前致谢:
最佳答案
它采用 r[i+1] 值并打印以 2 为模的结果。
所以:
- 第一个:
3 模 2 == 1
== 2 * 1 + 1 - 第二个:
7 modulo 2 == 1
== 2 * 3 + 1 - 第三个:
12 modulo 2 == 0
== 2 * 6 + 0 - 第四个:
10 modulo 2 == 0
== 2 * 5 + 0
关于Java 代码执行意外的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23809218/