Atributos como private

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.

[code]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;
}

}[/code]

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

[code]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")); 
    
}

}[/code]

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

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

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

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

OK?

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

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.

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

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().