Advertisement
Guest User

Untitled

a guest
Oct 21st, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.65 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class l6q3 {
  4.  
  5. public static void main(String[] args) {
  6. // TODO Auto-generated method stub
  7. Scanner in = new Scanner (System.in);
  8. Metodo metodo = new Metodo ();
  9. String nome = "";
  10. String contatinho = "";
  11. String position = "";
  12. int posicaoInt = 0;
  13. while (in.hasNext()) {
  14. nome = in.next();
  15. position = in.nextLine();
  16. //inserindo na lista
  17. metodo.colocar(nome, position);
  18. }
  19. //enquanto a lista não retornar nulo, continuaremos associando as posicoes com os nomes
  20. while (metodo.nome != null) {
  21. position = metodo.posicao;
  22. if (metodo.proximo.procurar(position) == null) {
  23. //forever alone
  24. System.out.printf("%s nao existe um parceiro para voce.\n", metodo.nome);
  25. metodo.remover(metodo.nome, position);
  26. } else {
  27. //procurando o nome do contatinho na lista
  28. contatinho = metodo.proximo.procurar(position);
  29. //agora, procurando a posicao do contatinho pra associar com a sua
  30. posicaoInt = metodo.proximo.achandoPosicao (contatinho, position, 1);
  31. System.out.printf("%s seu parceiro esta na posicao %d e o seu nome e %s.\n", metodo.nome, posicaoInt, contatinho);
  32. //agora que um casal já foi feito, vamso removê-lo da lista
  33. metodo.remover(contatinho, metodo.posicao);
  34. metodo.remover(metodo.nome, metodo.posicao);
  35. }
  36. }
  37. }
  38. }
  39. class Metodo {
  40. String nome;
  41. String posicao;
  42. Metodo proximo;
  43. //construtor
  44. public Metodo () {
  45. this.nome = null;
  46. this.posicao = null;
  47. this.proximo = null;
  48. }
  49. public void colocar (String nome, String posicao) {
  50. //inicializando
  51. if (this.nome == null) {
  52. this.nome = nome;
  53. this.posicao = posicao;
  54. this.proximo = new Metodo ();
  55. } else {
  56. this.proximo.colocar(nome, posicao);
  57. }
  58. }
  59. public void remover (String nome, String posicao) {
  60. if (this.nome.equals(nome) && this.posicao.equals(posicao)) {
  61. this.nome = this.proximo.nome;
  62. this.posicao = this.proximo.posicao;
  63. this.proximo = this.proximo.proximo;
  64. } else {
  65. this.proximo.remover(nome, posicao);
  66. }
  67. }
  68. //
  69. public int achandoPosicao (String nome, String posicao, int contador) {
  70. if (this.posicao.equals(posicao) && this.nome.equals(nome)) {
  71. return contador;
  72. } else {
  73. contador++;
  74. return this.proximo.achandoPosicao(nome, posicao, contador);
  75. }
  76. }
  77. //procurando se existe o id igual ao position lá do main
  78. public String procurar (String posicao) {
  79. if (this.nome != null && this.posicao.equals(posicao)) {
  80. return this.nome;
  81. } else if (this.nome == null) {
  82. return null;
  83. } else {
  84. return this.proximo.procurar(posicao);
  85. }
  86. }
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement