Ajude-me em um código

3 respostas
P

Estou tentando fazer um código bem simples, mas....

O problema está em criar um método para elevar ao quadrado.

Apresenta o erro na linha 15 e 16
15: non-static variable b cannot be referenced from a static context System.out.println(b);
16: non-static variable aaoQuadrado cannot be referenced from a static context System.out.println (aaoQuadrado);

Alguem pode me ajudar?
abraço

package aprendendometodo;

public class metodo {

    double a = 4.0;
    double b = a * a;

    public double aoQuadrado(double a) {
        return a*a;
    }

    double aaoQuadrado = aoQuadrado(a);

    public static void main(String[] args) {
        System.out.println(b);
        System.out.println (aaoQuadrado);
    }

}

3 Respostas

Gustavo_Marques

Existe um método epecifico de Math para retornor o calculo. Mas acho que seu problema é mais de arquitetura de projeto e orientação a objeto. Trabalhe com a filosofia de serviço - consumidor.
Crie uma classe para fazer o calculo, e outra para usufruir este serviço. Assim seu código fica mais reutilizável.

Ex.

public class Quadrado{      
    public double aoQuadrado(double a) {  
        return a*a;  
    }  
}

public class Main{
   public static void main(String args[]){
      Quadrado quadrado = new Quadrado();
      System.out.println(quadrado.aoQuadrado(4));
   }
}
adriano_si

fala cara... primeiramente...

se quiser usar essas variáveis diretamente no método main() tem que torná-las static, com a palavra chave static

fica assim
public class Metodo { // Primeiro cara padronize nome de Classes para CamelCase  
		  
	    static double a = 4.0;  
	    static double b = a * a; // Para serem chamadas de métodos static precisam ser static tbm
	  
	    public double aoQuadrado(double a) {   
	        return a*a;   
	    }   
	  
	    // static double aaoQuadrado = aoQuadrado(a); Isso não faz sentido, não pode executar código fora do escopo de um método   
	  
	    public static void main(String[] args) {   
	    	double aaoQuadrado = new Metodo().aoQuadrado(a); // precisa fazer isso (criar objeto) ou tornar teu método static tbm
	    	System.out.println(b);   
	        System.out.println (aaoQuadrado);   
	    }   
}

Taí as dicas no código...

jLady

Olá…

Sem querer ser chata, vejo que voce é novo por aqui, mas quando voce postar alguma coisa, coloque no “Assunto” do tópico algo que remeta realmente a sua dúvida
Esse titulo nao quer dizer nada, todos aqui precisam de ajuda com código, esse é o intuito do forum…

Obrigada pela compreensão…

Criado 28 de outubro de 2010
Ultima resposta 28 de out. de 2010
Respostas 3
Participantes 4