Un verdadero valor es devuelto a la persona que llama, incluso con un vistazo a especificar ningún valor de retorno en la instrucción return

T.Cook:
public class FlourPacker {

    public static boolean canPack(int bigCount, int smallCount, int goal) {

        if ((bigCount < 0 || smallCount < 0 || goal < 0))
            return false;

            if ((bigCount * 5) < goal)
                return ((goal - (bigCount * 5)) <= smallCount);

             else return ((goal % 5)<= smallCount);

        }

    public static void main(String []args){
            System.out.println(canPack(3,0,11));
        }

}    

Así que en este problema bigCountvale 5 y smallCountvale 1, y se supone que debo tratar de obtener el número objetivo. No puedo pasar por encima (el objetivo) con el bigCountpero no puedo con una smallCount.

Pero mi pregunta es, ¿cómo es que en el último ify elsedeclaración que no es necesario poner trueo falsepara el cambio? cuando lo ejecuto (es decir. el principal método que he creado) me dice que truea pesar de que nunca lo puse return trueen el código.

Nybbit:

No es necesario especificar trueo falseespecíficamente. Si es así, entonces todos sus sentencias if tendrían que ser if (true)o if (false).

Así que, en cambio, se escribe una expresión dentro de la sentencia if que se evalúa trueo false(Tomando su ejemplo, if ((bigCount * 5) < goal)será equivalente a en if (true)o if (false)después de conectar los valores de las variables).

Esta misma idea se aplica a las declaraciones de retorno ( return ((goal % 5)<= smallCount)se convertirá return trueo return false).

Supongo que te gusta

Origin http://10.200.1.11:23101/article/api/json?id=378631&siteId=1
Recomendado
Clasificación