Iniciante com problemas

5 respostas
S

ta dando um erro ve so

public class ExpressaoQuadrado extends ExpressaoUnaria{

	ExpressaoQuadrado(int operando, String operador) {
		super(operando, "sqr");
	}
	
	
	
	public int avaliar() 
	{		
		
		return this.operando.avaliar() * this.operando.avaliar();
	}
	public String imprimir()
	{		
		return getOperador() + "(" + getOperando().imprimir() +  ")";
	}
	
}

na linha que eu to tentando dar o retorno do metodo imprimir ta dizendo que getOperando() nao pode chamar o metodo imprimir()
esse é um exercicio que foi passado pra mim pra ser resolvido tipo com herança e polimorfismo… essas coisas

segue a classe mae

public abstract class ExpressaoUnaria implements ExpressaoAritmetica {
	int operando;
	String operador;
	
	ExpressaoUnaria(int operando, String operador)
	{
		this.operando = operando;
		this.operador = operador;
	}

	public int getOperando()
	{
		return this.operando;
	}
	public String getOperador()
	{
		return this.operador;
	}
	


}

e a interface ta com os metodos imprimir() e avaliar() só
alguem ae pode me ajudar sera que aquela linha que ta dando erro na classe ExpressaoQuadrado ta errada?

5 Respostas

S

tbm ta dando erro na linha 12 da classe ExpressaoQuadrado pq ta dizendo que nao posso chamar o metodo avaliar()

rmendes08

e não pode mesmo … você não pode chamar métodos através de variáveis de tipos primitivos

rmendes08

e vc não precisa chamar o método dentro dele mesmo nesse caso

S

entao como eu conseguiria fazer essa linha de outra forma? pq eu queria fazer de um jeito que desse pra imprimir tipo sqr(3 + 2) tlg?

rmendes08

sonisoares:
entao como eu conseguiria fazer essa linha de outra forma? pq eu queria fazer de um jeito que desse pra imprimir tipo sqr(3 + 2) tlg?

isso você não vai conseguir mesmo, pq os objetos da sua classe armazenam um único operando. Mas se você quiser imprimir “sqr(4)” por exemplo, é só concatenar as suas variáveis com o operador +, não precisa chamar método nenhum. lembre-se também que quando você concatena um string com qualquer outro tipo, o Java converte automaticamente esse novo tipo em string e faz a concatenação

Criado 11 de fevereiro de 2009
Ultima resposta 11 de fev. de 2009
Respostas 5
Participantes 2