@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