fala galerinha do mal, to com um programa que faz a media mas tenho que usar encapsulamento e get e setter e estou meu confuso o por que não funciona?? vlw galera .
fiz o programa em duas classes e tenho que colocar na nota da Ana n1 =10 n2 = 9 e no Beto n1 = 9 n2 = 10 mas não consigo, ajuda aé vlw.
package Exe12;
/**
*
-
@author Cezario
*/
public class Teste extends Aluno{
public static void main(String args[]){
Teste t = new Teste();
t.Media();
}
void Media() {
media = (n1+n2)/2;
System.out.println("media:" + media);
}
}
SEGUNDA CLASSE
package Exe12;
/**
*
-
@author Cezario
*/
public class Aluno {
int nome;
int n1 ;
int n2 ;
float media;
public int getNome() {
return nome;
}
public void setNome(int Ana, int Beto) {
this.nome = nome;
}
public int getN1() {
return n1;
}
public void setN1(int n1) {
this.n1 = n1;
}
public int getN2() {
return n2;
}
public void setN2(int n2) {
this.n2 = n2;
}
public float getMedia() {
return media;
}
public void setMedia(float media) {
this.media = media;
}
}
Cara, qdo for postar, seleciona o código que vc digitou e clica no botão Code.
O problema começa aqui:
void Media() {
media = (n1+n2)/2;
System.out.println("media:" + media);
}
Vc criou o método Media na classe Teste, que usa as variáveis n1 e n2. A classe Teste não tem essas variáveis, quem tem é Aluno!
Agora, isto aqui está bizarro:
[code]int nome;
public void setNome(int Ana, int Beto) {
this.nome = nome;
} [/code]
Amigo, é sério. Não quero falar nada polêmico mas recomendo que vc se esforce mais nos seus estudos. Aqui temos uma super-hiper-mega-sequência de erros:
int nome; – isto o Java entende, mas um “nome” é um número inteiro??
setNome(int Ana, int Beto) – um método para setar o nome do aluno, que recebe 2 números inteiros, que são Ana e Beto. Hã???
this.nome = nome; – this.nome se refere ao atributo nome, mas e o nome (sem o this)? De onde veio? As únicas variáveis que temos são Ana e Beto (que até agora não entendi para que servem nesse método) e n1, n2.
Eu considero que te dar tudo mastigado é o maior desserviço que eu possa te fazer. Vou dar uma diretriz para vc direcionar seu raciocínio e ESTUDAR!
- a classe que vai fazer o cálculo deverá ser aquela que contém os dados. Quem possui as notas? Portanto, quem deverá ter o método void Media() ?
- o nome do aluno deve ser uma String. Assim vc poderá passar setNome(“Beto”).
- vc precisaria criar setters para setar o nome e as notas do aluno (ex.: setN1, setN2)