为什么我的“为什么”循环中的“如果”语句不能更改我的一个对象?

苔丝

我是Java的新手,并创建了一个简单的程序,该程序将从另一个程序中获取信息,并通过命令行将其用于循环。不管我看多少次,我都无法弄清楚为什么'if(minValue> value'不会改变minValue。

给出一些可能会产生minValue的信息的输出:

Count:3
Minimum: 0 @
Maximum: 75 @ DummyDate3 DummyTime3
Average: 45.00

这是while循环的结果吗?

int minValue = 0;
    int maxValue = 0;
    String minValueTime = "";
    String minValueDate = "";
    String maxValueDate = "";
    String maxValueTime = "";
    int count = 0;
    double average = 0;

    /*
     * For as long as input is going through A date, a time, and a value
     * will come through as a loop If the minimum value is less than the
     * value coming through The minimum value will become the value. If the
     * maximum value is less than the value, the maximum value will become
     * the value.
     */
    while (input.hasNext() == true) {
        String date = (input.next());
        String time = (input.next());
        int value = (input.nextInt());
        if (minValue > value) {
            minValue = value;
            minValueDate = date;
            minValueTime = time;
        }
        if (maxValue < value) {
            maxValue = value;
            maxValueDate = date;
            maxValueTime = time;
        }
        count++;
        average = average + value;
    }

    input.close();

    System.out
            .printf("Count:%d%nMinimum: %d @ %s %s%nMaximum: %d @ %s %s%nAverage: %.2f%n",
                    count, minValue, minValueDate, minValueTime, maxValue,
                    maxValueDate, maxValueTime, average / count);
}

编辑:我已经尝试了Integer.MAX_VALUE和MIN_VALUE,但是它们两个分别导致MAX_VALUE和MIN_VALUE的值。

k

分配给min的第一个值是0。如果每个读取的整数都大于0,则它将永远不变。您实际需要做的是将max和min赋给minValue和maxValue:

int minValue = Integer.MAX_VALUE;
int maxValue = Integer.MIN_VALUE;

这样,读取的第一个值很可能会低于当前的最小值,并且第一个值也将高于当前的最大值。

最小值不能超过这些值,最大值也不能低于此值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我不能在 for 循环中设置一个等于另一个整数的整数?

为什么我们不能在插入排序的while循环中更改语句的顺序?

为什么我不能在Angular ngFor循环中设置第一个单词的样式?

如果函数是对象,为什么我不能在 JS 中的另一个函数内部调用函数?

为什么我的 If 语句在我的 For 循环中被忽略?

为什么我不能使用两个“if 语句”而不是一个 elif,如果两者中只有一个会执行?

为什么我在每个循环中只添加最后一个元素?

我们为什么要把glGetError放在一个循环中?

为什么我的正确答案在每个循环中都在同一个地方?

为什么我在循环中运行一个简单的函数会出现类型错误?

为什么我的for循环中的if语句不能在Java脚本中运行

为什么我不能多次导入一个变量?

为什么我不能创建一个Maven项目?

为什么不能我开始一个JavaFX程序?

为什么我不能约束一个概念

为什么我不能创建一个新分区?

为什么我不能pgrep一个进程?

为什么这个 if 语句给我一个 ValueError?

遍历 for 循环:为什么我的第一个 if 语句不运行?

为什么我的 for 循环只重复打印第一个 if 语句?

为什么我不能在每个循环中合并哈希

为什么我不能在 for 循环中打印每个结果?

为什么我不能使用一个步骤来更改Python列表中的项目?

为什么我不能创建一个新对象并设置属性?

为什么我不能用模板 push_back 一个对象?

为什么我不能在`set <set <int >>`循环中更改值

为什么我似乎陷入了一个循环?

为什么我的诺言在一个循环中存在时间问题,我该如何解决?

为什么我可以用字符串文字创建一个对象,但如果泛型到位,我不能?