java - Java中的简单计算问题

标签 java for-loop

这个 for 循环应该对 TreeMap 中包含的所有值求和。这是有效的,但在内部循环之后,值 up 和 down 用于计算精度。似乎这从未执行过。

我做错了什么?

            // for each row
        for (Entry<String, TreeMap<String, Integer>> table_row : table.entrySet()) {

            // write the label
            String row = table_row.getKey() + ",";

            int up = 0;
            int down = 0;
            float accu = 0;
                    // for each treemap in the row
            for (Entry<String, Integer> collumn : table_row.getValue().entrySet()) {
                row += collumn.getValue() + ",";
                down += collumn.getValue();//this works
                if (collumn.getKey() == table_row.getKey()) {
                    up = collumn.getValue();
                    }
            }

    --------->  accu = (up / down) * 100; //this is not executed?? 
            System.out.println("t: " + up + " n: " + down + " a: " +  accu);
            row = row + Float.toString(accu) + " %";
            writer.println(row);//this works too but output is always 0%
        }

最佳答案

您可能不希望在 if 比较中使用 ==,而是使用 equals()... 除非您希望它们是字符串的同一实例。

关于java - Java中的简单计算问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11748502/

相关文章:

java - ProgressBar.setProgress 接受整数有解决方法吗?

Java:使用 joda-time 将 45 天添加到 DateTime 对象会产生无意义的日期

java - 使用 Proguard 导出 APK 时收到错误代码 1

android - 将 EditText View 动态添加到水平 ScrollView

r - 使用循环在 r 中创建包含 ICC 结果的表

Java For循环 - 在每n个元素之后插入元素

java - 用于事务重用的 Hibernate 模式

java - GWT 简单寻呼机帮助

c - 在for循环中使用逗号和break会出错

c++ - cout 不在 for 循环外执行