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