Lista Encadeada
Seguinte tenho que preencher duas lista com nomes. Depois o programa tem que gerar uma terceira lista dos nomes comuns as duas listas. Exemplo:
- L1 = Joana, Laura, Sérgio, Fábio.
- L2 = Anita, Joaquim, Fábio, Joana, Pedro, Sílvia.
- L3 = Joana, Fábio.
Estou com problemas como criar está terceira Lista:
public class ListaLigada2 {
private static class LISTA1
{
public String nome1;
public LISTA1 prox1;
}
private static class LISTA2
{
public String nome2;
public LISTA2 prox2;
}
private static class LISTA3
{
public String nome3;
public LISTA3 prox3;
}
/**
* @param args
*/
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
LISTA1 inicio1 = null; LISTA2 inicio2 = null;LISTA3 inicio3 = null;
LISTA1 fim1 = null;LISTA2 fim2 = null;LISTA3 fim3 = null;
LISTA1 aux1;LISTA2 aux2;LISTA3 aux3;
LISTA1 anterior1;LISTA2 anterior2;LISTA3 anterior3;
int op;
do{
System.out.println("\nMENU DE OPÇÕES\n");
System.out.println("1 - Inserir o nome início da 1ª lista");
System.out.println("2 - Inserir o nome início da 2ª lista");
System.out.println("3 - Inserir o nome final da 1ª lista");
System.out.println("4 - Inserir o nome final da 2ª lista");
System.out.println("5 - Consultar a 1ª lista de nomes ");
System.out.println("6 - Consultar a 2ª lista de nomes ");
System.out.println("7 - Consultando os nomes que mais se repetem");
System.out.println("8 - Sair");
System.out.print("Digite sua opção: ");
op = input.nextInt();
if (op <1 || op>8)
{
System.out.println("Opção Inválida");
}else {
if(op == 1)
{
System.out.println("Digite o nome a ser inserido no início da 1ª lista");
LISTA1 novo = new LISTA1();
novo.nome1 = input.next();
if (inicio1 == null) {
inicio1 = novo;
fim1 = inicio1;
novo.prox1 = null;
} else {
novo.prox1 = inicio1;
inicio1 = novo;
}
System.out.println("Número inserido no início da 1ª lista!!");
}
if(op == 2)
{
System.out.println("Digite o nome a ser inserido no início da 2ª lista");
LISTA2 novo = new LISTA2();
novo.nome2 = input.next();
if (inicio2 == null)
{
inicio2 = novo;
fim2 = inicio2;
novo.prox2 = null;
} else
{
novo.prox2 = inicio2;
inicio2 = novo;
}
System.out.println("Número inserido no início da 2ª lista!!");
}
if (op == 3)
{
System.out.println("Digite o número a ser inserido no fim da 1ª lista: ");
LISTA1 novo = new LISTA1();
novo.nome1 = input.next();
if (inicio1 == null)
{
inicio1 = novo;
fim1 = novo;
novo.prox1 = null;
} else
{
fim1.prox1 = novo;
fim1 = novo;
fim1.prox1 = null;
}
System.out.println("Número inserido no fim da 1ª lista!!");
}
if (op == 4)
{
System.out.println("Digite o número a ser inserido no fim da 1ª lista: ");
LISTA2 novo = new LISTA2();
novo.nome2 = input.next();
if (inicio1 == null)
{
inicio2 = novo;
fim2 = novo;
novo.prox2 = null;
} else
{
fim2.prox2 = novo;
fim2 = novo;
fim2.prox2 = null;
}
System.out.println("Número inserido no fim da 2ªlista!!");
}
if (op == 5) {
if (inicio1 == null)
{
System.out.println("Lista vazia!!");
} else
{
System.out.println("\nConsultando toda a 1ª lista\n");
aux1 = inicio1;
while (aux1 != null) {
System.out.print(aux1.nome1 + " ");
aux1 = aux1.prox1;
}
}
}
if (op == 6) {
if (inicio1 == null)
{
System.out.println("Lista vazia!!");
} else
{
System.out.println("\nConsultando toda a 2ª lista\n");
aux2 = inicio2;
while (aux2 != null) {
System.out.print(aux2.nome2 + " ");
aux2 = aux2.prox2;
}
}
}
}
}while(op !=8);
// TODO Auto-generated method stub
}
}
Muito Obrigado.
- L1 = Joana, Laura, Sérgio, Fábio.
- L2 = Anita, Joaquim, Fábio, Joana, Pedro, Sílvia.
- L3 = Joana, Fábio.
Estou com problemas como criar está terceira Lista:
import java.util.Scanner;
public class ListaLigada2 {
private static class LISTA1
{
public String nome1;
public LISTA1 prox1;
}
private static class LISTA2
{
public String nome2;
public LISTA2 prox2;
}
private static class LISTA3
{
public String nome3;
public LISTA3 prox3;
}
/**
* @param args
*/
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
LISTA1 inicio1 = null; LISTA2 inicio2 = null;LISTA3 inicio3 = null;
LISTA1 fim1 = null;LISTA2 fim2 = null;LISTA3 fim3 = null;
LISTA1 aux1;LISTA2 aux2;LISTA3 aux3;
LISTA1 anterior1;LISTA2 anterior2;LISTA3 anterior3;
int op;
do{
System.out.println("\nMENU DE OPÇÕES\n");
System.out.println("1 - Inserir o nome início da 1ª lista");
System.out.println("2 - Inserir o nome início da 2ª lista");
System.out.println("3 - Inserir o nome final da 1ª lista");
System.out.println("4 - Inserir o nome final da 2ª lista");
System.out.println("5 - Consultar a 1ª lista de nomes ");
System.out.println("6 - Consultar a 2ª lista de nomes ");
System.out.println("7 - Consultando os nomes que mais se repetem");
System.out.println("8 - Sair");
System.out.print("Digite sua opção: ");
op = input.nextInt();
if (op <1 || op>8)
{
System.out.println("Opção Inválida");
}else {
if(op == 1)
{
System.out.println("Digite o nome a ser inserido no início da 1ª lista");
LISTA1 novo = new LISTA1();
novo.nome1 = input.next();
if (inicio1 == null) {
inicio1 = novo;
fim1 = inicio1;
novo.prox1 = null;
} else {
novo.prox1 = inicio1;
inicio1 = novo;
}
System.out.println("Número inserido no início da 1ª lista!!");
}
if(op == 2)
{
System.out.println("Digite o nome a ser inserido no início da 2ª lista");
LISTA2 novo = new LISTA2();
novo.nome2 = input.next();
if (inicio2 == null)
{
inicio2 = novo;
fim2 = inicio2;
novo.prox2 = null;
} else
{
novo.prox2 = inicio2;
inicio2 = novo;
}
System.out.println("Número inserido no início da 2ª lista!!");
}
if (op == 3)
{
System.out.println("Digite o número a ser inserido no fim da 1ª lista: ");
LISTA1 novo = new LISTA1();
novo.nome1 = input.next();
if (inicio1 == null)
{
inicio1 = novo;
fim1 = novo;
novo.prox1 = null;
} else
{
fim1.prox1 = novo;
fim1 = novo;
fim1.prox1 = null;
}
System.out.println("Número inserido no fim da 1ª lista!!");
}
if (op == 4)
{
System.out.println("Digite o número a ser inserido no fim da 1ª lista: ");
LISTA2 novo = new LISTA2();
novo.nome2 = input.next();
if (inicio1 == null)
{
inicio2 = novo;
fim2 = novo;
novo.prox2 = null;
} else
{
fim2.prox2 = novo;
fim2 = novo;
fim2.prox2 = null;
}
System.out.println("Número inserido no fim da 2ªlista!!");
}
if (op == 5) {
if (inicio1 == null)
{
System.out.println("Lista vazia!!");
} else
{
System.out.println("\nConsultando toda a 1ª lista\n");
aux1 = inicio1;
while (aux1 != null) {
System.out.print(aux1.nome1 + " ");
aux1 = aux1.prox1;
}
}
}
if (op == 6) {
if (inicio1 == null)
{
System.out.println("Lista vazia!!");
} else
{
System.out.println("\nConsultando toda a 2ª lista\n");
aux2 = inicio2;
while (aux2 != null) {
System.out.print(aux2.nome2 + " ");
aux2 = aux2.prox2;
}
}
}
}
}while(op !=8);
// TODO Auto-generated method stub
}
}
Muito Obrigado.
Carlos Leonel
Curtidas 0