Fila prioritária de banco

Bom dia,

Estou com um exercicio da faculdade, gostaria da ajuda de vocês pra resolver.

Crie uma estrutura do tipo fila pra ser utilizada no sistema medico onde você foi contratado.
O sistema vai distribuir senhas prioritárias…ou seja…haverá o atendimento convencional e o prioritário
o paciente chega no atendimento, vai no terminal e escolhe entre 2 opções, nesse momento o sistema imprime uma ticket com o numero do atendimento.
crie o atendimento…pra exibir quem está sendo atendido

Olá Matheus, bom dia. Seja bem vindo ao fórum.

Sempre que postar algo, lembre de escrever alguma a mais, porque aqui tem excelentes devs que querem ajudar de forma altruística, mas isso não significa fazer o trabalho todo.

Então posta aqui o que você já fez e quais suas dúvidas específicas.

E, novamente, seja bem vindo ao fórum! Quando estiver mais experiente, lembre de voltar aqui e ajudar aos novatos.

1 curtida

Estou tendo um problema ao executar o código,

Erro:

Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
	The type Fila is not generic; it cannot be parameterized with arguments <String>
	The type Fila is not generic; it cannot be parameterized with arguments <>

	at Filaa.Fila.main(Fila.java:8)

Código:

import java.util.Scanner;

public class Fila {

public static void main(String[] args) {
   Fila<String> fila = new Fila<>(50);
	        
    Scanner sv = new Scanner(System.in);

     int opcao = 0;

     int sanha = 0;

     int prior = 0;

   while (opcao != 3 ) {

       System.out.println("1- Retira Senha Convencional");

       System.out.println("4- Retira Senha Prioridade");

       System.out.println("2-Chama Senha");

       System.out.println("3-Fim");

       opcao = sv.nextInt();

       switch (opcao) {

        case 1:
               sanha++;

               fila.add("NOR-" + sanha);

               System.out.println("Sua senha é: NOR-" + sanha);

               break;

        case 2:

              

             System.out.println("Senha Chamada:" + fila.remove(fila));  

             break;

        case 3:

            System.out.println("Finalizado");     

        case 4:

             prior++;

             fila.insert("Prior-" + prior);

             System.out.println("Sua Senha é: Prior-" + prior);

             break;    

            default:

             System.out.println("Opção Invalida"); 
                }
          }
       }
   }

Para que aqueles <> na criação?

Além de que se esse é todo o código da class Fila, falta um construtor para receber um número como parâmetro.

Tbm estou começando agora se ajudar tá aí,
List “<Inte"ger>” lista = new ArrayList<>();

@Flavia_X_Silva na realidade o que ele quer construir é outra coisa. Ele não quer criar uma lista de objetos; é um pouco mais simples :slight_smile:

O enunciado é:

@Matheus_Henrique1 você não precisa de duas classes. Vou montar a estrutura básica e você tenta preencher com código, ok?


INÍCIO


import java.util.Scanner;

public class Fila {

public static void main(String[] args) {

Quando o cliente (paciente) chega


  1. Usar println para mostrar um menu de opções (atendimento normal ou preferencial)
  2. Usar um scanner para coletar o número
  3. Se você já souber usar o laço do { } while (); use ele para testar se a opção escolhida é válida
  4. Usar um if para testar as opções e imprimir a senha apropriada
  5. Usar println para mostrar a posição na fila

Atendimento


Você tem duas opções: ou fazer um outro código (pois quem atende precisa de um sistema específico de atendimento) ou exibir um menu dentro do código atual. Partindo do princípio que é um exercício para iniciantes, entendo que seu professor quer um código dentro do atual. Então faça:

  1. Usar println para mostrar as opções de atendimento (chamar o próximo normal ou prioritário)
  2. Colete a resposta com o scanner
  3. Teste se a resposta é válida (laço do/while)
  4. Ao escolher uma opção válida (pode testar com if ou com switch), o sistema mostra a nova pessoa chamada, com println

===================

Posta aqui o resultado.

3 curtidas
package clinica;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Fila {

	public static void main(String[] args) {
			
		   List<Integer> filaNormal = new ArrayList<>();   
		   List<Integer> filaPrior = new ArrayList<>();
		    Scanner sv = new Scanner(System.in);
		    int contPrior = 1;
		    int contNormal = 1;
		     int opcao = 0;
		     int senha = 0;
		     int prior = 0;

		   do{
		       System.out.println("1- Retira Senha Convencional");
		       System.out.println("2-Chama Senha");
		       System.out.println("3-Fim");
		       System.out.println("4- Retira Senha Prioridade");

		       opcao = sv.nextInt();

		   switch (opcao) {
				   
		   		case 1:
		               senha++;
		               filaNormal.add(senha);
		               System.out.println("Sua senha é: NOR-" + senha);
		               System.out.println("");
		               break;
		        case 2:
		        	
		        	if(contPrior <= filaPrior.size()) {
		        		System.out.println("Senha Prioridade: "+ contPrior);
		        		contPrior++;
		        	}
		        	else if(contNormal <= filaNormal.size()){
		        		System.out.println("Senha Normal: " + contNormal);
		        		contNormal++;
		        	}
		        	else {
		        		System.out.println("Nao ha ninguem na fila!!!!!");
		        	}

		        	System.out.println("");
		        	
		             break;
		             
		        case 3:
		        	
		            System.out.println("Finalizado"); 
		            break;
		        case 4:
		             prior++;
		             filaPrior.add(prior);
		             System.out.println("Sua Senha é: Prior-" + prior);
		             System.out.println("");
		             break;    
		       default:
		             System.out.println("Opção Invalida"); 
		                
		   }
		        
		 }while (opcao != 3);
		 sv.close();
	}
}
1 curtida