[RESOLVIDO] Public static void main não funciona, o que faço?

6 respostas Resolvido
java
J

Olá pessoal, alguém pode me explicar o erro do meu código? Quando eu o compilo:

public class Raiz {

    static double raizQuadrada(double a, double epsilon) {
        double aAnterior = 0;
        if (a > 0 && epsilon > 0 && epsilon < 1) {
            while (Math.abs(aAnterior - a) > epsilon) {
                a = (aAnterior + aAnterior / a) * 1 / 2;
                aAnterior = a;
            }
            return (a);
        }
        if (a == 0) {
            return (0);
        }
        if (a < 0 || epsilon <= 0 || epsilon >= 1) {
            return (-1);
        }
    }

    public static void main(String[] args) {
        // Exemplo de teste:*
        double valor = 63;
        double precisao = 0.001;
        System.out.println("Raiz de : " + valor + " = " + raizQuadrada(valor, precisao));
    }
}

Ele apresenta esse erro:

/Raiz.java:39: error: illegal start of expression
		public static void main(String[] args) {
		^
1 error

Não sei o erro é no método raizQuadrada ou se é no main, podem me explicar?

6 Respostas

rodriguesabner

Esses asteriscos fazem parte do código???

J

Não fazem! Eu tinha colocado em itálico e em negrito, mas esqueci de tirar na hora de enviar o código por aqui, desculpa :frowning:

rodriguesabner

Testei seu código aqui e funcionou normal… Pode ser que esteja dando erro pq vc nao fez o return no final do seu método

J

Não sei como poderia fazer esse return, pode me dar um exemplo?

rodriguesabner
Solucao aceita

final do código:

if (a < 0 || epsilon <= 0 || epsilon >= 1) {
        return (-1);
    }

  return aAnterior;
}
J

Funcionou certinho agora! Obrigado!

Criado 5 de maio de 2020
Ultima resposta 6 de mai. de 2020
Respostas 6
Participantes 2