publicvoidcalculamedia(){media=((nota1+nota2)/2);System.out.println("Média do aluno:"+media);}publicvoidaxasituacao(){if(media>=7.0)situacao=("Aluno aprovado!");elsesituacao=("Aluno em recuperação!");}
System.out.printf("Entre com o nome do Aluno:");nomedoAluno=entrada.nextLine();System.out.printf("Entre com a matrícula do Aluno:");matriculadoAluno=entrada.nextInt();System.out.printf("Entre com a nota da P1 do Aluno:");nota1doAluno=entrada.nextDouble();System.out.printf("Entre com a nota da P2 do Aluno:");nota2doAluno=entrada.nextDouble();System.out.println("Imprimindo dados do aluno: ");cidadao.nome=nomedoAluno;cidadao.matricula=matriculadoAluno;cidadao.nota1=nota1doAluno;cidadao.nota2=nota2doAluno;cidadao.calculamedia();cidadao.axasituacao();cidadao.imprimeAluno();}
Colocando a palavra private na declaração dos atributos e acessando-os através de métodos publicos ?
M
mimisouza
Tudo bem eu ate fiz assim mas ta dando erro:
public class Aluno {
privateStringnome;privateStringsituacao;privateDoublenota1,nota2,media;publicvoidcalcularMedia(Doublenota1,Doublenota2){media=((nota1+nota2)/2);System.out.println("Média do aluno:"+media);}publicvoidachasituacao(){{if(media>=7.0)situacao=("Aluno aprovado!");elsesituacao=("Aluno em recuperação!");
}
}
publicvoidimprimeAluno(){System.out.println("Nome do aluno:"+nome);System.out.println("Situacao do aluno:"+situacao);System.out.println("Nota 1 do aluno:"+nota1);System.out.println("Nota 2 do aluno:"+nota2);}publicDoublegetMedia(){returnmedia;}publicvoidsetMedia(Doublemedia){this.media=media;}publicStringgetNome(){returnnome;}publicvoidsetNome(Stringnome){this.nome=nome;}publicDoublegetNota1(){returnnota1;}publicvoidsetNota1(Doublenota1){this.nota1=nota1;}publicDoublegetNota2(){returnnota2;}publicvoidsetNota2(Doublenota2){this.nota2=nota2;}publicStringgetsituacao(){returnsituacao;}publicvoidsetsituacao(Stringsituacao){this.situacao=situacao;
Nada como indentar o codigo e colocar entre tags CODE ;-)
//eh bom ter uma classe publica por arquivoclassAluno{privateStringnome,situacao;// acho que vc nao precisa da situacaoprivatedoublenota1,nota2,media;// acho que vc nao precisa da media/* Vai um construtor ai ? */publicAluno(){}// como vc quer instanciar sem um construtor ???//este aqui é um presente :)publicAluno(Stringnome,doublenota1,doublenota2){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); } */publicvoidcalcularMedia(){media=((this.nota1+this.nota2)/2.0);}publicvoidacharSituacao(){// { <--- 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";elsethis.situacao="Reprovado";}// } idem...publicvoidimprimeAluno(){calcularMedia();// se nao calculou a media, calcula agoraacharSituacao();// se nao achou a situacao, acha agoraSystem.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 precisassepublicStringgetNome(){returnnome;}publicvoidsetNome(Stringnome){this.nome=nome;}publicdoublegetNota1(){returnnota1;}publicvoidsetNota1(doublenota1){this.nota1=nota1;}publicdoublegetNota2(){returnnota2;}publicvoidsetNota2(doublenota2){this.nota2=nota2;}publicdoublegetMedia(){returnmedia;}/* ta maluco ? A media depende das notas...! public void setMedia(double media) { this.media = media; }*/publicStringgetsituacao(){returnsituacao;}/* A situação depende da media, certo ? public void setsituacao(String situacao){ this.situacao=situacao; } */}importjava.util.Scanner;publicclassTestaAluno{publicstaticvoidmain(Stringargs[]){Scannerentrada=newScanner(System.in);Stringnomedapessoa;Stringnota1dapessoa;Stringnota2dapessoa;Alunocidadao=newAluno();//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));/* oudouble 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();}}
LPJava
Opa nao seria melhor para cada classe vc gerar um arquivo em java ou seja um arquivo com os metodos e outros com os objetos!! Acho o q tem em anexo serve!!