java - 将 If 语句更改为 Java 中的函数

标签 java function if-statement methods

我是编程新手,正在学习 Java 语言中的函数。

有函数,一个描述兔子的成长,一个描述狐狸的成长。在这两个函数中,都有一个 if 语句来避免 nbRabbitsnbFoxex 达到负数。

public static double calculateRabbits(double rabbits, double foxes, double attackRate) {

        for (int i = 0; i < Duration; ++i){
            rabbits = nbRabbits;
            nbRabbits *= (1.0 + GROWTH_RATE_RABBITS - attackRate * nbFoxes );

            **if (nbRabbits < 0.0){
                nbRabbits = 0.0;
            }**
        }

        return nbRabbits;   
    }

public static double calculateFoxes(double rabbits, double foxes, double attackRate) {

        for (int i = 0; i < Duration; ++i){
            nbFoxes *= (1.0 + ATTACK_RATE_INIT * rabbits * GROWTH_RATE_FOXES - MORTALITY_RATE);

            **if (nbFoxes < 0.0){
            nbFoxes = 0.0;
             }** 

        }

        return nbFoxes;
    }

我的问题是:如何将此 if 更改为另一个函数?我想避免复制和粘贴 if

最佳答案

避免复制粘贴绝对是一个很好的目标。但是有一个比编写函数来替换它更好的解决方案——使用其他人已经编写的函数。在这种情况下,java.util.Math#max .例如:

nFoxes = Math.max(nFoxes, 0);

关于java - 将 If 语句更改为 Java 中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33203249/

相关文章:

c# - 在另一个已经打开的窗体上执行函数

c++ - 我的 if else 语句有什么问题?

java - 实例化通用接口(interface)

java - 使用状态模式获取具有特定状态的对象

java - Hadoop - 映射器和缩减器的@Override 错误

c - 何时将数组名或函数名“转换”为指针? (在C中)

java - 如何在 JFreeChart 折线图中显示数据库值

c++ - 在 VS 2015 中重用另一个解决方案项目的功能

c - 如何直接比较数组中的第一个和第二个元素?

ruby - 有没有更简洁的方法来组合 Ruby 中的许多比较?