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

Rod*_*292 1 java methods if-statement function

我是编程新手,我正在学习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;
    }
Run Code Online (Sandbox Code Playgroud)

我的问题是:如何将其更改if为其他功能?我想避免复制和粘贴if.

Mur*_*nik 6

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

nFoxes = Math.max(nFoxes, 0);
Run Code Online (Sandbox Code Playgroud)