2013/04/04

Java - Capitulo 14: Exemplo básico de lista ligada 1ra parte

new Comment();
Alunos.java
package proyectos;

public class Alunos{
//Declaramos a estrutura básica que vai ter a nossa classe Alunos
 private String Nome;
 private int Notas;
 private Alunos Proximo;

//Criamos setters & getters
 public void setNome(String Nome){
  this.Nome = Nome;
 }
 
 public String getNome(){
  return this.Nome;
 }
 
 public void setNota(int Nota){
  this.Notas = Nota;
 }
 
 public int getNota(){
  return this.Notas;
 }
 
 public void setProximo(Alunos Proximo){
  this.Proximo = Proximo;
 }
 
 public Alunos getProximo(){
  return this.Proximo;
 }
}


AlunoLista.java
package proyectos;

public class AlunoLista {

//Precisamos saber a quantidade de alunos que temos
 int qntAlunos;

//Precisamos saber quem vai ser o primeiro e quem o ultimo
 Alunos Primeiro, Ultimo;

//Setamos a nossa lista com valores 0 e null
 public AlunoLista(){
  this.qntAlunos = 0;
  this.Primeiro = null;
  this.Ultimo = null;
 }

//Criamos função inserir no inicio, pasando como parametros nome e nota 
 public void InserirInicio(String Nome, int Nota){

//Se a quantidade de alunos for 0, quer dizer que a nossa lista esta zerada
  if (this.qntAlunos == 0) {

//Criamos um novo aluno a
   Alunos a = new Alunos();

//Setamos os dados do aluno (parametros recevidos no inicio da função)
   a.setNome(Nome);
   a.setNota(Nota);

//Definimos que o próximo será o primeiro (esta função insere no começo)
   a.setProximo(Primeiro);

//Pelo momento, este aluno a será o primeiro
   this.Primeiro = a;

//Se a lista não esta vazia
  }else{

//Criamos um novo aluno b
   Alunos b = new Alunos();

//Setamos os dados do aluno
   b.setNome(Nome);
   b.setNota(Nota);
   b.setProximo(Primeiro);

//Setamos primeiro valendo b
   Primeiro = b;
  }

//sumamos um a nosso contador de alunos
  this.qntAlunos++;
 }
 
//Criamos a função imprimir para mostrar os alunos
 public void Imprimir(){

//Criamos uma variável auxiliar que aponta ao primeiro
  Alunos aux = this.Primeiro;

//Criamos um for para percorrer
  for (int i = 0; i < qntAlunos; i++) {

//Vai mostrar o nome e nota do primeiro aluno a primeira vez
   System.out.println("Nome: "+aux.getNome()+" com nota "+aux.getNota()+"\n\n");

//Posteriormente vai passar ao próximo aluno, neste exemplo não estou concatenando
   aux = aux.getProximo();
  }
 }

//Método principal main
 public static void main(String[] args) {

//Criamos uma nova lista de alunos
  AlunoLista a = new AlunoLista();

//Setamos o nome e nota dos alunos
  a.InserirInicio("Fernando", 1);
  a.InserirInicio("Ferran", 2);

//Chamamos a função imprimir para que mostre o resultado
  a.Imprimir();
 }
}

If You Enjoyed This, Take 5 Seconds To Share It

0 comentarios:

Postar um comentário