Advertisement
Viniciusfelbs

Questão 2 lista 6

Oct 22nd, 2019
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.34 KB | None | 0 0
  1. package lista;
  2.  
  3. import java.util.*;
  4.  
  5. class Sistema {
  6.  
  7.     private String pessoa;
  8.     private Sistema proximo;
  9.  
  10.     public Sistema() {
  11.         this.pessoa = null;
  12.         this.proximo = null;
  13.     }
  14.  
  15.     public String inserir(String pessoa) {
  16.         String retorno;
  17.         if (this.proximo == null) {
  18.             this.pessoa = pessoa;
  19.             retorno = pessoa + " entrou na Tardis.";
  20.             this.proximo = new Sistema();
  21.         } else {
  22.             retorno = this.proximo.inserir(pessoa);
  23.         }
  24.  
  25.         return retorno;
  26.     }
  27.  
  28.     public boolean sair(String pessoa) {
  29.         if (this.proximo != null) {
  30.             if (this.pessoa.equals(pessoa)) {
  31.                 this.pessoa = this.proximo.pessoa;
  32.                 this.proximo = this.proximo.proximo;
  33.                 return true;
  34.             } else {
  35.                 return this.proximo.sair(pessoa);
  36.             }
  37.  
  38.         }
  39.         return false;
  40.     }
  41.  
  42.     public String imprimir() {
  43.         String impressao;
  44.         if (this.proximo != null) {
  45.             impressao = this.pessoa + "\n" + this.proximo.imprimir();
  46.         } else {
  47.             impressao = "Nao ha ninguem na Tardis no momento.";
  48.         }
  49.    
  50.  
  51.     return impressao ;
  52. }
  53.  
  54. public String verificar(String pessoa) {
  55.         String retorno = null;
  56.         if (this.proximo != null) {
  57.             if (this.pessoa.equals(pessoa)) {
  58.                 retorno = pessoa + " esta na Tardis.";
  59.             } else {
  60.                 return this.proximo.verificar(pessoa);
  61.             }
  62.         } else {
  63.             retorno = pessoa + " nao esta na Tardis.";
  64.         }
  65.         return retorno;
  66.    
  67.  
  68. }
  69. }
  70.  
  71. public class HuxleyCode {
  72.  
  73.     public static void main(String args[]) {
  74.         Scanner s = new Scanner(System.in);
  75.         Sistema tardis = new Sistema();
  76.         String comando;
  77.         String pessoa;
  78.         String inimigo = s.nextLine();
  79.         String vilao[] = inimigo.split(" ");
  80.         boolean status = false;
  81.         while (s.hasNext()) {
  82.             comando = s.next();
  83.             if (comando.equals("ENTRAR")) {
  84.                 String pessoa1 = s.nextLine();
  85.                 pessoa = pessoa1.trim();
  86.                 for (String vilao1 : vilao) {
  87.                     status = pessoa.equals(vilao1);
  88.                     if (status == true) {
  89.                         break;
  90.                     }
  91.                 }
  92.                 if (status == true) {
  93.                     System.out.println("Doctor o vilao " + pessoa + " tentou entrar na Tardis.");
  94.                 } else {
  95.                     System.out.println(tardis.inserir(pessoa));
  96.                 }
  97.             } else if (comando.equals("SAIR")) {
  98.                 String pessoa1 = s.nextLine();
  99.                 pessoa = pessoa1.trim();
  100.                 if (tardis.sair(pessoa) == true) {
  101.                     System.out.println(pessoa + " saiu da Tardis.");
  102.                 } else {
  103.                     System.out.println(pessoa + " nao esta na Tardis.");
  104.                 }
  105.             } else if (comando.equals("LISTAR")) {
  106.                 System.out.println(tardis.imprimir());
  107.             } else if (comando.equals("VERIFICAR")) {
  108.                 String pessoa1 = s.nextLine();
  109.                 pessoa = pessoa1.trim();
  110.                 System.out.println(tardis.verificar(pessoa));
  111.             }
  112.         }
  113.     }
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement