OLHA antes de mais nada deves dizer se sera lista com prioridade em relação a que?? ( altura, mais bonito, chefe, idade).
mas ve se das uma melhor explicada no geral
S
saidmt
então pessoal…
aqui esta um modelo de uma fila de prioridade…
importjava.util.PriorityQueue;//Define uma pilha de prioridade. Os elementos são ordenados segundo uma ordem.//A ordem dos elementos elemento pode ser definida pelo Comparator.publicclassQueueEx1{publicstaticvoidmain(Stringargs[]){PriorityQueue<Integer>PQ=newPriorityQueue<Integer>();for(inti=0;i<10;i++)PQ.add(newInteger(i));for(inti=0;i<10;i++){System.out.println("Elemento na cabeça: "+PQ.poll());}}}
blz ???
agora precisso de vossa ajudas para criar um objeto que armazene a hora de entrada e hora de saida…
//Fila de PrioridadepublicclassFilaPrioridade{privateinttamanho;privatelong[]vetorFila;privateintitens;publicFilaPrioridade(ints){tamanho=s;vetorFila=newlong[tamanho];itens=0;}publiclongremover(){returnvetorFila[itens];}publiclongpeek(){returnvetorFila[itens-1];}publicbooleanestaVazia(){return(itens==0);}publicbooleanestaCheia(){return(itens==tamanho);}publicvoidinserir(longelemento){inti;if(itens==0)vetorFila[itens++]=elemento;else{for(i=itens-1;i>=0;i--){if(elemento>vetorFila[i])vetorFila[i+1]=vetorFila[i];elsebreak;}vetorFila[i+1]=elemento;itens++;}}publicvoidimprimir(Pontoponto){for(inti=itens;i<=tamanho;i++)System.out.println(vetorFila[i]+" ");}}
//Pessoas e suas caracteristicaspublicclassPessoa{publicStringnome;publicStringcpf;publicPessoa(){}publicStringgetNome(){returnnome;}publicvoidsetNome(Stringnome){this.nome=nome;}publicStringgetCpf(){returncpf;}publicvoidsetCpf(Stringcpf){this.cpf=cpf;}}
//MAINimportjava.text.SimpleDateFormat;importjava.util.ArrayList;importjava.util.Calendar;importjava.util.Date;importjava.util.LinkedList;importjava.util.List;importjava.util.Scanner;publicclassPontoEletronico{publicstaticvoidmain(String[]args){PontoEletronicopontoeletronico=newPontoEletronico();List<Pessoa>lista=pontoeletronico.carregaPessoas();Scannersc=newScanner(System.in);Pontoponto=newPonto();// =============================================================Datedata=Calendar.getInstance().getTime();SimpleDateFormatdft=newSimpleDateFormat("HH:mm");dft=newSimpleDateFormat("dd/MM/yyyy");Stringdata_atual=dft.format(data);System.out.println("---- SISTEMA DE CONTROLE DE PONTO");System.out.println("DATA ATUAL:"+data_atual);// =============================================================dft=newSimpleDateFormat("HH");Stringhora_atual=dft.format(data);inth=Integer.parseInt(hora_atual);Stringcpf;for(intj=0;j<=3;j++){if(h>=7&&h<=8){System.out.println("REGISTRO DE ENTRADA");do{System.out.println("Informe o CPF:");cpf=sc.nextLine();}while(pontoeletronico.verificarCpf(cpf,lista)==false);ponto.setEntrada(data.getTime());//Date novadata = new Date(pt.getEntrada());}if(h>8){System.out.println("REGISTRO DA SAIDA");do{System.out.println("Informe o CPF:");cpf=sc.nextLine();}while(pontoeletronico.verificarCpf(cpf,lista)==false);if(data!=null)ponto.setSaida(data.getTime());elseSystem.out.println("Data Nula");//Date novadata = new Date(pt.getSaida());}}// ===========================================================}privateList<Pessoa>carregaPessoas(){List<Pessoa>lista=newArrayList<Pessoa>();Stringnomes[]={"Maria silva","Jose soares","Joao das neves","Juvenal mendes"};Stringcpfs[]={"1234","4321","5678","8765"};for(inti=0;i<cpfs.length;i++){Pessoapessoa=newPessoa();pessoa.setNome(nomes[i]);pessoa.setCpf(cpfs[i]);lista.add(pessoa);}returnlista;}// =============================================================privatebooleanverificarCpf(Stringcpf,List<Pessoa>lista){for(inti=0;i<lista.size();i++){if(lista.get(i).getCpf().equals(cpf)){returntrue;}}System.out.println("CPF INCORRETO");returnfalse;}privatevoidimprimir(Pontopt){}privatevoidMaiorMenor(){}// ================================================================}
AGORA PRECISOS :
?O sistema deve emitir um relatório diário do horário de entrada e saída de cada pessoa.
?O sistema deve apresentar os 5 funcionários que chegam mais cedo e que saem mais tarde.