Atributos como private

7 respostas
A

Tenho um exercicio que é:

Crie uma classe de nome Triangulo que possui os atributos: base e altura privados. E o método:
Área: que retorna o cálculo da área do triângulo. Sabe-se que o cálculo da área do triângulo é: area = (base * altura) / 2.
Após, implemente em java um programa que lê os valores da base e da altura e mostre o valor da área.

Fiz a parte da classe assim compilei e deu certo.
public class Triangulo {
	
	private int base, altura;
	
	public double area(){
		
		return (this.base*this.altura)/2;
	}
	public int getBase(){
		return this.base;
		
	}
	public void setBase(int base){
		this.base = base;
		
	}
	public int getAltura(){
		return this.altura;
		
	}
	public void setAltura(int altura){
	    this.altura = altura;
	}
	
	


}

Depois fiz a parte do main para dar os valores, e ele compilei para ver se estava certo a parte que fiz e ele tá dando erro dizendo que não tem a variavel setBase e setAltura

import javax.swing.*;
public class Valor_Area {
        
    
    public static void main(String[] args) {
    	
    	Triangulo app = new Triangulo();
    	
    	app.setBase=Integer.parseInt(JOptionPane.showInputDialog("Informe o valor da Base"));
    	app.setAltura=Integer.parseInt(JOptionPane.showInputDialog("Informe o valor da Altura")); 
        
    }
}

7 Respostas

E

setBase é um método (precisa de “(” e “)”), não uma variável.

A

Então não precisa de todos aqueles get e set que eu criei?

E

Claro que precisa. Para seu programa funcionar, você tem de usar:

app.setBase (Integer.parseInt(JOptionPane.showInputDialog("Informe o valor da Base")));

OK?

A

Sim mais porque ele da erro nessa parte, falta alguma coisa???

E

Uma coisa que você precisa aprender é a prestar mais atenção no que está escrito. Eu mostrei uma das linhas corrigidas, e de fato a diferença é bem pequena:

–> seu código

app.setBase=Integer.parseInt(JOptionPane.showInputDialog("Informe o valor da Base"));

–> meu código

app.setBase(Integer.parseInt(JOptionPane.showInputDialog("Informe o valor da Base")));

Veja que a diferença é bem pequena mesmo, mas é suficiente para o compilador reclamar. Pegue seus óculos e procure a diferença.

A

agora que vi que o = que estava dando o erro, mais porque se colocar ele da erro?

E

Porque = é usado para atribuir valores a variáveis ou atributos, e ( é usado para chamar métodos. Você sabe pelo menos a diferença entre uma variável e um método, não?

Se você não tomou pau nas aulas de língua portuguesa, talvez seja mais interessante.

Métodos são verbos, e objetos são sujeitos ou objetos.

A frase em português:

João comprou legumes
(sujeito, verbo, objetos)

Seria em Java:

joão.comprou (legumes);

O operador de atribuição ("=") serve para associar uma variável ou atributo a um valor. Em português, seria o verbo “tornou-se” ou “recebeu”. Por exemplo:

Por exemplo:

Homem joão = new Homem();

em Português seria:

A variável joão recebeu o valor de new Homem().

Criado 11 de setembro de 2009
Ultima resposta 11 de set. de 2009
Respostas 7
Participantes 2