Advertisement
Guest User

Untitled

a guest
Oct 20th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.78 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. Scanner in = new Scanner(System.in);
  7. Lista lista = new Lista ();
  8. while (in.hasNext()) {
  9. String nome = in.next();
  10. int identificador = Integer.parseInt(in.nextLine().trim());
  11. Pessoa pessoa = new Pessoa (nome,identificador);
  12. lista.inserir(pessoa);
  13. }
  14. while(lista.pessoa != null) {
  15. //Armazenando o identificador da pessoa atual (primeira posicao da lista) em uma variavel
  16. int identificador = lista.pessoa.idenficador;
  17. //Checando se e null, ou se nao existe par para aquela pessoa, antes de guardar o par (objeto Pessoa) numa variavel
  18. //Porque se a lista so tiver uma pessoa nao posso checar o proximo
  19. if (lista.proximo.checar(identificador) == null) {
  20. System.out.println(lista.pessoa.nome + " nao existe um parceiro para voce.");
  21. }
  22. else {
  23. //Armazenando o par da primeira pessoa numa variavel
  24. Pessoa par = lista.proximo.checar(lista.pessoa.idenficador);
  25. //Posicao iniciando em 1 porque a checagem inicia a partir do segundo elemento da lista
  26. int posicao = 1;
  27. System.out.println(lista.pessoa.nome + " seu parceiro esta na posicao " + lista.proximo.checarposicao(par, posicao) + " e o seu nome e " + par.nome + ".");
  28. lista.remover(par);
  29. }
  30. lista.remover(lista.pessoa);
  31. }
  32.  
  33. in.close();
  34. }
  35. }
  36. //Objeto pessoa com o nome e seu identificador
  37. class Pessoa {
  38. String nome;
  39. int idenficador;
  40. public Pessoa (String nome, int identificacao) {
  41. this.nome = nome;
  42. this.idenficador = identificacao;
  43. }
  44. }
  45. //Lista do objeto Pessoa
  46. class Lista {
  47. Pessoa pessoa;
  48. Lista proximo;
  49. public Lista () {
  50. this.pessoa = null;
  51. this.proximo = null;
  52. }
  53. //Inserir pessoas na lista
  54. public void inserir (Pessoa pessoa) {
  55. if (this.pessoa == null) {
  56. this.pessoa = pessoa;
  57. this.proximo = new Lista ();
  58. }
  59. else {
  60. this.proximo.inserir(pessoa);
  61. }
  62. }
  63. //Remover pessoas da lista
  64. public void remover (Pessoa pessoa) {
  65. if (this.pessoa != null && this.pessoa.equals(pessoa)) {
  66. this.pessoa = this.proximo.pessoa;
  67. this.proximo = this.proximo.proximo;
  68. }
  69. else {
  70. this.proximo.remover(pessoa);
  71. }
  72. }
  73. //Checar se existe um par para aquela primeira pessoa
  74. public Pessoa checar(int identificador) {
  75. if(this.pessoa != null && this.pessoa.idenficador == identificador) {
  76. return this.pessoa;
  77. }
  78. else if (this.pessoa == null) {
  79. return this.pessoa;
  80. }
  81. else {
  82. return this.proximo.checar(identificador);
  83. }
  84. }
  85. //Checar a posicao do par
  86. public int checarposicao (Pessoa pessoa, int posicao) {
  87. if (this.pessoa != null && this.pessoa.equals(pessoa)) {
  88. return posicao;
  89. }
  90. else {
  91. posicao ++;
  92. return this.proximo.checarposicao(pessoa, posicao);
  93. }
  94. }
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement