Java 代码执行意外的数字

标签 java

我有以下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;
    }
}

我还记录了自己的计算,请随意检查下面的图片,以便查看或找出并可能告诉我我做错了什么,提前致谢:

enter image description here

最佳答案

它采用 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/

相关文章:

java - 如何使用tomcat使用eclipse webtool创建adempiere自定义模板的web ui工作区

java - Spring MessageSource 似乎忽略了属性 fallbackToSystemLocale

java - 为什么使用十六进制值而不是普通的 10 进制数字?

java - LinkedHashSet 或 ArrayList

java - "low risk"JDO 或 JPA 之间的选择是什么?

java - 如何从依赖中获取子依赖或版本?

原始类型的 Java 迭代器

Java n 线程更新值

java - 复选框 switch case 的实现

Java 图形、图形面板和按钮面板