Quantcast
Channel: Programação - GUJ
Viewing all articles
Browse latest Browse all 33093

Como usar Arquivo RandomacessFile usando as funcões hash

$
0
0

@Emeson escreveu:

oi gente estou precisando de uma forcinha pra entender este assunto:

Meu professor me pediu pra que eu criasse um arquivo RandomAcessFile e que colocasse de forma aleatoria 100 numeros na faixa de 1 a 100 mas que esses números não se repitam e depois ele pede para gravar mas numeros dentro deste arquivo usando a função hash do modulo do resto e fazer o tratamento das colisões.

Ficou assim até agora:

public class GegerNumerorsAleatoriosSemRepeticaoHash {

   
    public static void main(String[] args) throws IOException {
        long inicio = System.currentTimeMillis();
        
        int num;
        
        final int tamanhoArquivo = 4;
        File arquivo = new File("NumerosAleatorios.dat");
        RandomAccessFile raf = new RandomAccessFile(arquivo, "rw");
        for (int i=1; i<11; i++)
        {
            raf.seek(i*4);
            raf.writeInt(0);
        }
        
        
        
        Random gerador;
        int contador = 0;
        do
        {
            num = new Random().nextInt(11)+1;           
            
            
                raf.seek(4*(num));
                int valor = raf.readInt();
               // System.out.println("numero gerado: " + valor);
                if (valor == 0) {
                 raf.seek(4*(num));
                
                 raf.writeInt(num);
                 
                contador++;
                System.out.println(num + "   "+ contador);
            
               
          }           
                       
        }
        while (contador<10);      
            
        
        //listar tudo do arquivo
        
       
        
        
          raf.close();
        long fim = System.currentTimeMillis();
        System.out.printf("%55s\n","FINAL DA EXECUÇÃO DO ARQUIVOS!!!");
		System.out.printf("%55s\n\n\n","TEMPO TOTAL..........: " + ((fim-inicio)/1000) + "SEGUNDOS!!!");
             
    }
    
}

alguem pode me ajudar por favor, eu estou boiando no assunto???!!!

Mensagens: 3

Participantes: 2

Ler tópico completo


Viewing all articles
Browse latest Browse all 33093


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>