Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.*;
- import java.util.*;
- public class HuxleyCode {
- public static void main(String[] args) {
- Scanner in = new Scanner(System.in);
- Lista lista = new Lista ();
- while (in.hasNext()) {
- String nome = in.next();
- int identificador = Integer.parseInt(in.nextLine().trim());
- Pessoa pessoa = new Pessoa (nome,identificador);
- lista.inserir(pessoa);
- }
- while(lista.pessoa != null) {
- //Armazenando o identificador da pessoa atual (primeira posicao da lista) em uma variavel
- int identificador = lista.pessoa.idenficador;
- //Checando se e null, ou se nao existe par para aquela pessoa, antes de guardar o par (objeto Pessoa) numa variavel
- //Porque se a lista so tiver uma pessoa nao posso checar o proximo
- if (lista.proximo.checar(identificador) == null) {
- System.out.println(lista.pessoa.nome + " nao existe um parceiro para voce.");
- }
- else {
- //Armazenando o par da primeira pessoa numa variavel
- Pessoa par = lista.proximo.checar(lista.pessoa.idenficador);
- //Posicao iniciando em 1 porque a checagem inicia a partir do segundo elemento da lista
- int posicao = 1;
- System.out.println(lista.pessoa.nome + " seu parceiro esta na posicao " + lista.proximo.checarposicao(par, posicao) + " e o seu nome e " + par.nome + ".");
- lista.remover(par);
- }
- lista.remover(lista.pessoa);
- }
- in.close();
- }
- }
- //Objeto pessoa com o nome e seu identificador
- class Pessoa {
- String nome;
- int idenficador;
- public Pessoa (String nome, int identificacao) {
- this.nome = nome;
- this.idenficador = identificacao;
- }
- }
- //Lista do objeto Pessoa
- class Lista {
- Pessoa pessoa;
- Lista proximo;
- public Lista () {
- this.pessoa = null;
- this.proximo = null;
- }
- //Inserir pessoas na lista
- public void inserir (Pessoa pessoa) {
- if (this.pessoa == null) {
- this.pessoa = pessoa;
- this.proximo = new Lista ();
- }
- else {
- this.proximo.inserir(pessoa);
- }
- }
- //Remover pessoas da lista
- public void remover (Pessoa pessoa) {
- if (this.pessoa != null && this.pessoa.equals(pessoa)) {
- this.pessoa = this.proximo.pessoa;
- this.proximo = this.proximo.proximo;
- }
- else {
- this.proximo.remover(pessoa);
- }
- }
- //Checar se existe um par para aquela primeira pessoa
- public Pessoa checar(int identificador) {
- if(this.pessoa != null && this.pessoa.idenficador == identificador) {
- return this.pessoa;
- }
- else if (this.pessoa == null) {
- return this.pessoa;
- }
- else {
- return this.proximo.checar(identificador);
- }
- }
- //Checar a posicao do par
- public int checarposicao (Pessoa pessoa, int posicao) {
- if (this.pessoa != null && this.pessoa.equals(pessoa)) {
- return posicao;
- }
- else {
- posicao ++;
- return this.proximo.checarposicao(pessoa, posicao);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement