1
resposta

Java Desafio Aritmético

Consegui identificar a partir do momento que o código deu problema, entretanto não identifiquei o motivo.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

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

        int a = 3 + 2;
        double numA =(6 * a);
        System.out.println(numA);

        double superiorA = Math.pow(numA,2);
        System.out.println(superiorA);

        int denA = 3 * 2;
        System.out.println(denA);

        System.out.println(superiorA / denA);

        int b = (1-5);
        double B = (2 - 7);

        double numB = (b * B);
        System.out.println(numB);

        int denB = 2;
        double bDiv = numB / denB;
        System.out.println(bDiv);

        double superiorB = Math.pow(bDiv, 2);
        System.out.println(superiorB); // Até aqui o código funcionou corretamente

        double chaveAB = (superiorA) - (superiorB); // Aqui em diante esta o erro
        System.out.println(chaveAB);

        double inferior = Math.pow(10, 3);
        System.out.println(inferior);
        double poten = Math.pow(chaveAB,3);
        System.out.println(poten);

        double superior = poten / inferior;
        System.out.println(superior);
    }
}

Resultado que tem impresso: 30.0 900.0 6 150.0 20.0 10.0 100.0 800.0 1000.0 5.12E8 512000.0

1 resposta

Olá Felipe!

Houve um erro na manipulação das suas variáveis. É sempre uma boa prática ter BEM definido o que cada variável representa e de acordo com o desenho, a variável SuperiorA iria corresponder à todo o calculo da primeira fração, ou seja SuperiorA = numA/denA. Porém vc calculou o SuperiorA como sendo o numA e na hora de fazer o calculo externo ao parenteses vc invocou o superiorA. e é isso que causa o erro. Eu refatoraria seu código dessa forma para poder ser fiel ao desenho:

public static void main(String[] args) {

        double numA = Math.pow((6 * (3+2)),2);
        int denA = 3 * 2;

        System.out.println(numA);
        System.out.println(denA);

        double superiorA = numA / denA;

        System.out.println(superiorA);

        int b = (1-5);
        double B = (2 - 7);

        double numB = (b * B);
        System.out.println(numB);

        int denB = 2;
        double bDiv = numB / denB;
        System.out.println(bDiv);

        double superiorB = Math.pow(bDiv, 2);
        System.out.println(superiorB); 

        //(A - superiorB)³ = A³ - 3 . A² . superiorB + 3 . A . superiorB² - superiorB³

        double chaveAB = (superiorA) - (superiorB); // Aqui em diante esta o erro
        System.out.println(chaveAB);

        double inferior = Math.pow(10, 3);
        System.out.println(inferior);
        double poten = Math.pow(chaveAB,3);
        System.out.println(poten);

        double superior = poten / inferior;
        System.out.println(superior);
    }

Caso este post tenha lhe ajudado, por favor, marcar como solucionado. ✓