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/

相关文章:

c++ - 为什么我的编译器将字符串视为 const char[]?

java - SQLite异常路径不存在

java - 如何在内存不足错误时生成线程转储java

PHP - 两行代码多次打印字符串

c++ - 使用 "else if"是否不需要在 while 循环中的每个条件后中断?

python - 为继承设计时为什么是 "use properties to hide functional implementation"?

java - 如何从 JFrame 切换到 java 类?

java - 重构java代码

java - 在内存数据库中创建 Derby SQLSyntaxException

java - 循环内覆盖数组列表