java - 如何使用 OOP 打印 arrayList 中的最小值?

标签 java loops oop arraylist

我原本期望获得最短的运行时间,但它却打印了 arrayList 中的最后一个主菜。我正在尝试为狗打印一个特定的类(class),当我输入类(class)代码时,它就会起作用。然而,最低的运行时间似乎不起作用。

示例数据

拉兹洛 12.2

凛34.2

Yu 23.3 - 当 Lazlo 应该是获胜狗时,这将被打印为获胜狗。

获胜的狗应该有最短的运行时间,但它会读取最后读取的行并将其打印出来。

private void winningDog(String dogsCode) 
{
    double runTime = 300;
    String winningDog = "";
    double winningTime = 0;
    for (Dogs dog: dogsList)
    {
        if(runTime > dog.getTotalTime() && (dog.getCourseCode().equalsIgnoreCase(dogsCode)))
        {
            winningTime = dog.getTotalTime();
            winningDog = dog.getName();
        }

    }
    System.out.printf("%n%s%17s%20s%1.2f%n", 
          "Winning dog", winningDog,"Time " , winningTime);

}

最佳答案

假设您的 dog.getTotalTime() 没有负值,您可以更改代码

winningTime = Double.MAX_VALUE; //assigning MAX value to ensure the condition is met at least once(unless all your time values are MAX_VALUE)

然后将您的条件更新为

if(runTime > dog.getTotalTime()..

if(winningTime > dog.getTotalTime().. // this would compare winningTime and you're setting the same is the condition matches

关于java - 如何使用 OOP 打印 arrayList 中的最小值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41948989/

相关文章:

java - 将 LineChart(javafx) 样式设置为子元素

java - 从键盘逐个字符读取消息并存储在最多 256 个字符的数组中

java - java.lang.IllegalArgumentException:无法从空字符串创建路径

c - 使用 fork 显示循环中的进程数

java - Java 中的多个 for 循环无法正常工作

python - 使用私有(private)成员对类进行子类化

python - 创建具有特殊设置功能的自定义 Counter 对象

java - Java 的日期格式

Perl 在 hash of hash 中搜索一个值并重新分配给另一个 hash

c# - 基类构造函数被击中而不调用它?