Nada como indentar o codigo e colocar entre tags CODE
[code]//eh bom ter uma classe publica por arquivo
class Aluno {
private String nome, situacao; // acho que vc nao precisa da situacao
private double nota1, nota2, media; // acho que vc nao precisa da media
/* Vai um construtor ai ? */
public Aluno(){ } // como vc quer instanciar sem um construtor ???
//este aqui é um presente :)
public Aluno(String nome, double nota1, double nota2){
this.nome=nome;
this.nota1=nota1;
this.nota2=nota2;
}
// por que vc vai calcular a media com 2 notas externas ?
// vc ja seta as notas com 2 metodos diferentes...
// nao precisa, vai por mim
/* public void calcularMedia(double nota1, double nota2) {
media = ((nota1 + nota2) / 2);
System.out.println("Média do aluno:" + media);
} */
public void calcularMedia() {
media = ((this.nota1 + this.nota2) / 2.0);
}
public void acharSituacao(){
// { <— acho que está sobrando… !!!
/* Daonde tu tirou isso : A=(“algumacoisa”) ???
if (media>=7.0)
situacao=(“Aluno aprovado!”);
else
situacao=(“Aluno em recuperação!”);*/
if (media >= 7.0)
this.situacao="Aprovado";
else
this.situacao="Reprovado";
}
// } idem…
public void imprimeAluno() {
calcularMedia();// se nao calculou a media, calcula agora
acharSituacao();// se nao achou a situacao, acha agora
System.out.println("Nome: " + nome);
System.out.println("Situacao: " + situacao);
System.out.println("Nota 1: " + nota1);
System.out.println("Nota 2: " + nota2);
System.out.println("Média : " + media);
/* Esta forma eu __acho__ mais logico:
System.out.println("Nome: " + nome);
System.out.println("Nota 1: " + nota1);
System.out.println("Nota 2: " + nota2);
System.out.println("Média : " + getMedia());
System.out.println("Situacao: " + getSituacao());
onde getMedia() retorna ((this.nota1 + this.nota2) / 2)
e getSituacao() faz o mesmo calculo interno (ou melhor, chama getMedia() ) e, se for >=7 retorna aprovado, senão...
nao ha por que guardar situacao e media como atributos IMHO :)
*/
}
// metodos interessantes, porem eu só codificaria os que eu precisasse
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public double getNota1() {
return nota1;
}
public void setNota1(double nota1) {
this.nota1 = nota1;
}
public double getNota2() {
return nota2;
}
public void setNota2(double nota2) {
this.nota2 = nota2;
}
public double getMedia() {
return media;
}
/* ta maluco ? A media depende das notas...!
public void setMedia(double media) {
this.media = media;
}*/
public String getsituacao(){
return situacao;
}
/* A situação depende da media, certo ?
public void setsituacao(String situacao){
this.situacao=situacao;
} */
}
import java.util.Scanner;
public class TestaAluno {
public static void main(String args[]) {
Scanner entrada = new Scanner(System.in);
String nomedapessoa;
String nota1dapessoa;
String nota2dapessoa;
Aluno cidadao = new Aluno();
//vai imprimir o que ??? não foi inicializado!!!
/* cidadao.imprimeAluno();
cidadao.achasituacao();*/
System.out.print("Entre com o nome do aluno:");
nomedapessoa = entrada.nextLine();
System.out.print("Entre com a nota1 do aluno:");
nota1dapessoa = entrada.nextLine();
System.out.print("Entre com a nota 2 do aluno:");
nota2dapessoa = entrada.nextLine();
cidadao.setNome(nomedapessoa);
cidadao.setNota1(Double.parseDouble(nota1dapessoa));
cidadao.setNota2(Double.parseDouble(nota2dapessoa));
/* ou
double nota1dapessoa = Double.parseDouble(entrada.nextLine());
(…)
Aluno cidadao = new Aluno(nomedapessoa,nota1dapessoa,nota2dapessoa);
que tal ? */
System.out.println("Imprimindo dados do aluno: XXXXXXXXXXX------XXXXXXXXXXX");
cidadao.imprimeAluno();
}
} [/code]