1
resposta

Desafio: hora da prática | Soma & Subtração

Para este desafio resolve criar métodos para fazer a parte de soma e subtração, creio que isso seja chamado de delegação de responsabilidade. As criei na class main e como ela tem o atributo static, os metodos nela também precisão ser static para poderem ser declarados. Aqui está como ficou o código:

public class Perfil {
    public static void main(String[] args) {

        // Sum of values
        System.out.printf("The value is %d%n", sum(10, 5));
        // Subtraction of values
        System.out.printf("The value is %d%n", subtraction(10, 5));

    }

    /**
     * Método para somar dois valores do tipo inteiro
     *
     * @param num1 First value
     * @param num2 Second value
     * @return Returns the sum result between the two values
     */
    public static int sum(int num1, int num2) {
        return num1 + num2;
    }

    /**
     * Método para subtrair dois valores do tipo inteiro
     *
     * @param num1 First value
     * @param num2 Second value
     * @return Returns the subtraction result between the two values
     */
    public static int subtraction(int num1, int num2) {
        return num1 - num2;
    }
}

Também fiz a mesma coisa em outra linguagem, no caso Golang, que é outra linguagem que também quero aprender e estou estudando em paralelo com Java. Aqui está o mesmo código em Go:

package main

import (
    "fmt"
)

func main() {
    fmt.Printf("The sum of 5 and 10 is %d\n", sum(5, 10))
    fmt.Printf("The sub of 5 and 10 is %d\n", sub(5, 10))
}

func sum(number, number2 int) int {
    return number + number2
}

func sub(number, number2 int) int {
    return number - number2
}
1 resposta

Olá, Rick. Tudo bem?

Obrigado por compartilhar seu código aqui com a gente. Parabéns pela solução e dedicação.

Ótimo como você organizou os métodos de soma e subtração, separando a lógica e aplicando delegação de responsabilidade. Isso facilita a manutenção do código. Também é interessante ver que você está explorando Go enquanto aprende Java.

Uma dica útil: no Java, você pode evitar repetições ao definir operações matemáticas usando uma interface funcional e method references. Veja este exemplo:


import java.util.function.IntBinaryOperator;

public class Perfil {
    public static void main(String[] args) {
        IntBinaryOperator soma = Integer::sum;
        System.out.println("Resultado: " + soma.applyAsInt(10, 5));
    }
}

Isso reduz código e torna mais genérico para outras operações.

Conte com o apoio do Fórum. Abraços e bons estudos.