/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package aluno;
/**
*
* @author Diamantino
*/
public class aluno {
private String nome_aluno;
private int numero_matricula;
private int turma;
static int nota=20; [b]-------------->valor da nota[/b]
private String cadeira="L.portuguesa,Matemática,L.estrangeira,Fisica,Quimica,E.M.C,E.V.P,História,E.fisica";
public String getnome_aluno() {
return nome_aluno;
}
public void setnome_aluno(String nome_aluno){
this.nome_aluno=nome_aluno;
}
public int getnumero_matricula() {
return numero_matricula;
}
public void setnumero_matricula(int numero_matricula) {
this.numero_matricula=numero_matricula;
}
public int getturma() {
return numero_matricula;
}
public void setturma(int turma) {
this.turma=turma;
}
public int getnota() {
return nota;
}
@SuppressWarnings("static-access")
public void setnota(int nota) {
this.nota=nota;
}
public String getcadeira (){
return cadeira;
}
public void setcadeira(String cadeira) {
this.cadeira=cadeira;
}
public void print(){
System.out.println("Nome do Aluno: " +nome_aluno);
System.out.println("Número da Matricula: " +numero_matricula);
System.out.println("Turma:" +turma);
System.out.println("Cadeira: " +cadeira);
System.out.println("Nota: " +nota);
}
@SuppressWarnings("static-access")
public static void main(String[] args) {
//TODO code application logic here
if(nota>=10){ System.out.println("Apto");}
else if((nota<=9)){ System.out.println("Não Apto");}[b]------> // aqui está a declaração if-else....[/b].
aluno aluno1=new aluno();
aluno aluno2=new aluno();
aluno aluno3=new aluno();
aluno aluno4=new aluno();
aluno aluno5=new aluno();
aluno aluno6=new aluno();
aluno1.setnome_aluno("Filipe Fuge Kichindo");
aluno1.setnumero_matricula(90001);
aluno1.setturma(1);
aluno1.setcadeira("L.portuguesa");
aluno1.nota=9;---------------------------------------->//mas sempre depois de compilar dá sempre apto,mesmo
//mesmo que eu colocar a nota=1; depois de compilar ele
//apresenta apto
aluno1.print();
}
}
declaração if-else não funcionam ..........................help-me
16 Respostas
Bom dia, nota está 20 sempre.
aluno aluno1=new aluno();
aluno aluno2=new aluno();
aluno aluno3=new aluno();
aluno aluno4=new aluno();
aluno aluno5=new aluno();
aluno aluno6=new aluno();
aluno1.setnome_aluno("Filipe Fuge Kichindo");
aluno1.setnumero_matricula(90001);
aluno1.setturma(1);
aluno1.setcadeira("L.portuguesa");
aluno1.nota=9;---------------------------------------->//mas sempre depois de compilar dá sempre apto,mesmo
//mesmo que eu colocar a nota=1; depois de compilar ele
coloca isso antes do if.
flw.
valeu Gujuser…será que posso criar outras declaraçãoes if-else com outras disciplinas?
a nota precisa ser static mesmo?
Cara dá uma olhada onde tu tá colocando a condição if else e a declaração do atributo nota…
Quando tu manda rodar esse programa ele roda primeiro o método main, é nele que tudo começa, não vou te dizer o problema agora, dá uma pensada e ver se encontra o problema, se não conseguir manda outra mensagem que eu te ajudo de novo.
Como assim?
Cara é importante lembrar que um atributo static pertence a classe e não ao objeto,
portanto você deve ter certeza que este atributo deve ser static.
Porém o seu problema é só o momento em que o if está sendo executado dentro do método main.
aluno1.setnome_aluno("Filipe Fuge Kichindo");
aluno1.setnumero_matricula(90001);
aluno1.setturma(1);
aluno1.setcadeira("L.portuguesa");
aluno1.nota=9;
if(nota>=10){ System.out.println("Apto");}
else if((nota<=9)){ System.out.println("Não Apto");} ----------------->1ª declaração if else
aluno1.setcadeira("Matemática");
aluno1.nota=11;
if(nota>=10){ System.out.println("Apto");}
else if((nota<=9)){ System.out.println("Não Apto");} --------------------->outra declaração if-else
aluno1.print();
Opa, então cara…
Vc percebe que vc está replicando o mesmo código, faz o seguinte que ficará melhor.
aluno1.setnome_aluno("Filipe Fuge Kichindo");
aluno1.setnumero_matricula(90001);
aluno1.setturma(1);
aluno1.setcadeira("L.portuguesa");
aluno1.nota=9;
checarAptidao();
aluno1.setcadeira("Matemática");
aluno1.nota=11;
checarAptidao();
aluno1.print();
Aí cria lá um método que tem o que vc precisa checar:
public checarAptidao(){
if(nota>=10){ System.out.println("Apto");}
else if((nota<=9)){ System.out.println("Não Apto");}
}
certo?
flw.
mais ou menos assim Gujuseraluno1.setnome_aluno("Filipe Fuge Kichindo"); aluno1.setnumero_matricula(90001); aluno1.setturma(1); aluno1.setcadeira("L.portuguesa"); aluno1.nota=9; if(nota>=10){ System.out.println("Apto");} else if((nota<=9)){ System.out.println("Não Apto");} ----------------->1ª declaração if else aluno1.setcadeira("Matemática"); aluno1.nota=11; if(nota>=10){ System.out.println("Apto");} else if((nota<=9)){ System.out.println("Não Apto");} --------------------->outra declaração if-else aluno1.print();
Eu acho que você não entendeu ou não leu a minha mensagem acima, coloca essas condições if else dentro do seu método print()
ja fiz como disseste gujuser, mas ao compilar as qualificações não apto e apto aparecem por cima de tudo e não em baixo da respectiva cadeira. veja depois de compilado:
Não Apto
Apto
Nome do Aluno: Filipe Fuge Kichindo
Número da Matricula: 90001
Turma:1
Cadeira: Matemática
Nota: 11
BUILD SUCCESSFUL (total time: 1 second)
ao compilar só aparece a cadeira de matematica
public class aluno {
private String nome_aluno;
private int numero_matricula;
private int turma;
static int nota=20;
private String cadeira="L.portuguesa,Matemática,L.estrangeira,Fisica,Quimica,E.M.C,E.V.P,História,E.fisica";
public String getnome_aluno() {
return nome_aluno;
}
public void setnome_aluno(String nome_aluno){
this.nome_aluno=nome_aluno;
}
public int getnumero_matricula() {
return numero_matricula;
}
public void setnumero_matricula(int numero_matricula) {
this.numero_matricula=numero_matricula;
}
public int getturma() {
return numero_matricula;
}
public void setturma(int turma) {
this.turma=turma;
}
public int getnota() {
return nota;
}
@SuppressWarnings("static-access")
public void setnota(int nota) {
this.nota=nota;
}
public String getcadeira (){
return cadeira;
}
public void setcadeira(String cadeira) {
this.cadeira=cadeira;
}
public void print(){
System.out.println("Nome do Aluno: " +nome_aluno);
System.out.println("Número da Matricula: " +numero_matricula);
System.out.println("Turma:" +turma);
System.out.println("Cadeira: " +cadeira);
System.out.println("Nota: " +nota);
}
public void checarAptidao(){
if(nota>=10){ System.out.println("Apto");}
else if((nota<=9)){ System.out.println("Não Apto");}
}
@SuppressWarnings("static-access")
public static void main(String[] args) {
//TODO code application logic here
aluno aluno1=new aluno();
aluno aluno2=new aluno();
aluno aluno3=new aluno();
aluno aluno4=new aluno();
aluno aluno5=new aluno();
aluno aluno6=new aluno();
aluno1.setnome_aluno("Filipe Fuge Kichindo");
aluno1.setnumero_matricula(90001);
aluno1.setturma(1);
aluno1.setcadeira("L.portuguesa");
aluno1.nota=9;
aluno1.checarAptidao();
aluno1.setcadeira("Matemática");
aluno1.nota=11;
aluno1.checarAptidao();
aluno1.print();
}
}
victor,
coloque o metodo checar aptidao dentro do print, na ultima linha dele.
Tipo assim:
public void print(){
System.out.println("Nome do Aluno: " +nome_aluno);
System.out.println("Número da Matricula: " +numero_matricula);
System.out.println("Turma:" +turma);
System.out.println("Cadeira: " +cadeira);
System.out.println("Nota: " +nota);
System.out.print("Situacao: ");
checarAptidao();
}
ja coloquei o metodo checar aptidao no metodo print…
mas ao compilar ela só aparece a nota de matematica, mas não aparece a nota de L.portuguesa
Colocando dentro do print(),
a cada nota setada, vc deverá chamar o método print abaixo.
aluno1.setnome_aluno("Filipe Fuge Kichindo");
aluno1.setnumero_matricula(90001);
aluno1.setturma(1);
aluno1.setcadeira("L.portuguesa");
aluno1.nota=9;
aluno1.print();
aluno1.setcadeira("Matemática");
aluno1.nota=11;
aluno1.print();
flw.
exatamente…
No main vc está substituindo a variavel cadeira. Primeiro vc joga L.Portuguesa e depois Matematica. Ele va imprimir o último: Matematica.
Não entendi o pq da nota ser static.
Esse processamento de informações é referente às avaliações finais? Pq se for, separa a classe aluno da disciplina e das avaliações.
Ou seja:
- classe Aluno
- classe Disciplina
- classe Avaliação
Creio que assim deve ficar melhor e mais legível o sistema.
Espero ter ajudado.
[]´s