Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class HuxleyCode {
- public static void main(String[] args) {
- Scanner input = new Scanner(System.in);
- Lista filaUm = new Lista();
- Lista filaDois = new Lista();
- String filarestaurante1;
- String filarestaurante2;
- filarestaurante1 = input.nextLine();
- String restaurante1[] = filarestaurante1.split(":");
- String restauranteUm = restaurante1[0];
- String pratoUm = restaurante1[1];
- filarestaurante2 = input.nextLine();
- String restaurante2[] = filarestaurante2.split(":");
- String restauranteDois = restaurante2[0];
- String pratoDois = restaurante2[1];
- while(input.hasNextLine()){
- String line = input.nextLine();
- String aluno = "";
- String restaurante = "";
- String alunoNome[];
- if (line.contains(":")){
- String[] lines = line.split(":");
- aluno = lines[0];
- restaurante = lines[1];
- }
- else if (!line.contains(":")){
- aluno = line;
- restaurante = "";
- }
- if (restaurante.equals(pratoUm)) {
- filaUm.inserir(aluno);
- System.out.println(aluno + " foi para a fila do " + restauranteUm);
- }else if(restaurante.equals(pratoDois)) {
- filaDois.inserir(aluno);
- System.out.println(aluno + " foi para a fila da " + restauranteDois);
- } else if(restaurante.equals("")) {
- if (filaUm.quantos(aluno, 0) > filaDois.quantos(aluno, 0)) {
- filaDois.inserir(aluno);
- System.out.println(aluno + " foi para a fila do " + restauranteUm);
- } else if (filaDois.quantos(aluno, 0) > filaUm.quantos(aluno, 0)) {
- filaDois.inserir(aluno);
- System.out.println(aluno + " foi para a fila da " + restauranteDois);
- } else {
- filaDois.inserir(aluno);
- System.out.println(aluno + " foi para a fila da " + restauranteDois);
- }
- }
- if (line.contains("SAIU")) {
- if (restaurante.equals(restauranteUm)) {
- if (filaUm.isEmpty()) {
- System.out.println("Nao ha mais ninguem para comer aqui");
- } else {
- filaUm.remover();
- System.out.println(filaUm.remover() + " almocou no " + restauranteUm + " e esta voltando para aula");
- }
- }else if(restaurante.equals("AREA2")) {
- if (filaDois.isEmpty()) {
- System.out.println("Nao ha mais ninguem para comer aqui");
- } else {
- filaDois.remover();
- System.out.println(filaDois.remover() + " almocou na " + restauranteDois + " e esta voltando para aula");
- }
- }
- }
- }
- }
- }
- class Lista {
- private String alunoFila = null;
- private Lista proximo = null;
- private int contador = 0;
- private String pessoa = null;
- public boolean isEmpty() {
- return this.alunoFila == null;
- }
- public void inserir(String alunoFila) {
- if(isEmpty()) {
- this.alunoFila = alunoFila;
- this.proximo = new Lista();
- } else
- this.proximo.inserir(alunoFila);
- }
- public boolean existe(String alunoFila) {
- if(isEmpty()) {
- return false;
- } else if(!isEmpty() && this.alunoFila.equals(alunoFila)) {
- return true;
- } else if (this.proximo == null)
- return false;
- return proximo.existe(alunoFila);
- }
- public String remover() {
- if (!isEmpty()){
- pessoa = this.alunoFila;
- this.alunoFila = this.proximo.alunoFila;
- this.proximo = this.proximo.proximo;
- } else if (this.proximo != null)
- this.proximo.remover();
- return pessoa;
- }
- public int quantos(String alunoFila, int contador) {
- if (!isEmpty() && alunoFila.equals(alunoFila))
- contador++;
- if (this.proximo != null)
- return this.proximo.quantos(alunoFila, contador);
- return contador;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement