Advertisement
Guest User

Untitled

a guest
May 24th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.09 KB | None | 0 0
  1. import java.io.*;
  2. import java.util.*;
  3.  
  4. public class HuxleyCode {
  5.     public static void main(String[] args) {
  6.  
  7.         Scanner keyboard = new Scanner(System.in);
  8.         String comando = "";
  9.         boolean primeiraLeitura = true;
  10.         String[] materias = {"Algoritmo", "SD", "Fisica", "Logica", "Estatistica"};
  11.  
  12.         Matricula matricula = new Matricula();
  13.  
  14.         while (keyboard.hasNextLine() && primeiraLeitura) {
  15.             comando = keyboard.nextLine();
  16.             if (!comando.equals("") && comando != null) {
  17.                 matricula.matricular(comando);
  18.             } else {
  19.                 primeiraLeitura = false;
  20.             }
  21.         }
  22.  
  23.         while(keyboard.hasNextLine() && !comando.equals("#")) {
  24.             comando = keyboard.nextLine();
  25.             if (comando != null) {
  26.                 matricula.cancelar(comando);
  27.             }
  28.  
  29.         }
  30.  
  31.         for (int i = 0; i < 5; i++) {
  32.             System.out.printf("Estao matriculados na turma de %s %d aluno(os)\n", materias[i], matricula.contarAlunos(materias[i], 0));
  33.         }
  34.  
  35.     }
  36. }
  37.  
  38. class Matricula {
  39.  
  40.     private String declaracaoMatricula;
  41.     private Matricula next;
  42.  
  43.     Matricula(){
  44.         this.declaracaoMatricula = null;
  45.         this.next = null;
  46.     }
  47.  
  48.     public void matricular(String comando) {
  49.         if (this.declaracaoMatricula == null) {
  50.             this.declaracaoMatricula = comando;
  51.             this.next = new Matricula();
  52.         } else {
  53.             if (this.declaracaoMatricula.equals(comando)) {
  54.                 this.declaracaoMatricula = comando;
  55.             } else {
  56.                 this.next.matricular(comando);
  57.             }
  58.         }
  59.     }
  60.  
  61.     public void cancelar(String comando) {
  62.         if (this.declaracaoMatricula != null && this.declaracaoMatricula.equals(comando)) {
  63.             this.declaracaoMatricula = this.next.declaracaoMatricula;
  64.             if (this.next.next != null) {
  65.                 this.next = this.next.next;
  66.             }
  67.         } else if (this.declaracaoMatricula != null && !this.declaracaoMatricula.equals(comando)) {
  68.             if (this.next != null) {
  69.                 this.next.cancelar(comando);
  70.             }
  71.         }
  72.     }
  73.  
  74.     public int contarAlunos(String nome, int contador) {
  75.         if (this.declaracaoMatricula != null && this.declaracaoMatricula.contains(nome)) {
  76.             contador++;
  77.         } else if (this.next != null) {
  78.             return this.next.contarAlunos(nome, contador);
  79.         }
  80.     return contador;
  81.        
  82. }
  83.  
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement