Publicidade:
Jogue Tibia sem mensalidades!
Taleon Online - Otserv apoiado pelo TibiaBR.
https://taleon.online
Curtir: 0
A principal utilização do código hash é servir como um indice em um HashMap, que funciona mais ou menos assim:
Você passa um código(não necessariamente hash) que vai servir de índice, e o conteúdo no arranjo. Em cima do código que você passou é feito um cálculo que define a posição em memória onde o conteúdo será gravado, quando você for pesquisar no arranjo, você passa o código são feitos novamente os cálculos em cima do código e é descoberta a posição em memória onde está o que você quer e é retornado.
A vantagem de usar o hashCode como o código é que as chances de colisão(do código ser igual para 2 objetos diferentes) são algo em torno de 1 em 4 bilhões. E a vantagem do hashMap é que, ao invés de você, em um arranjo, passar por cada posição procurando o que você quer, você tem acesso direto.
Espero ter ajudado.
22:38 Pron Artir [57]: sell 3 fish finds-bergard outfit-hat of the mand msg fast
Sobre a classe scanner em java.
Como faz para ler um int e logo após uma string? sempre que eu leio o int primeiro, minha string fica em branco, caso eu leia a string primeiro sai tudo certo, um exemplo rápido:
Se compilar isso logo após eu digitar o número já aparece os println, e a string sai em branco.Código:public class TesteJava { public static void main(String[] args) throws IOException { Scanner scanner = new Scanner(System.in); int num1 = scanner.nextInt(); String str = scanner.nextLine(); System.out.println("A string digitada e' " + str); System.out.println("O numero digitado e' " + num1); } }
Última edição por Pearkoren; 14-09-2011 às 17:48.
I needed somewhere to hang my head; Without your noose
You gave me something that I didn't have; But had no use
I was too weak to give in; Too strong to lose
My heart is under arrest again; But I'll break loose
My head is giving me life or death; But I can't choose
I swear I'll never give in; I refuse




O Scanner não funciona do jeito que você está pensando. Tente digitar um número e uma string na mesma linha antes de dar enter.
Assim funciona do jeito que você quer.Código:Scanner scanner = new Scanner(System.in); int num1 = scanner.nextInt(); System.out.println("O numero digitado é " + num1); scanner = new Scanner(System.in); String str = scanner.nextLine(); System.out.println("A string digitada é " + str);
Última edição por Girafales; 14-09-2011 às 19:26.
Funciona! mas o primeiro caracter da string fica um espaço em branco, maior trampo arrumar isso aí :'(
Valeu pela ajuda, o resto me viro.
Código:char[] strVetor = new char[50]; strVetor = str.toCharArray(); for (int i = 0; i +1 < strVetor.length;i++){ strVetor[i] = strVetor[i+1]; } strVetor[strVetor.length -1] = '\0'; System.out.println(strVetor); str = String.valueOf(strVetor); System.out.println(str);
Última edição por Pearkoren; 14-09-2011 às 20:34.
I needed somewhere to hang my head; Without your noose
You gave me something that I didn't have; But had no use
I was too weak to give in; Too strong to lose
My heart is under arrest again; But I'll break loose
My head is giving me life or death; But I can't choose
I swear I'll never give in; I refuse
Tô começando a aprender C agora e queria saber um compilador legal pra usar no Windows 7, instalei aqui o DevC++ compila normal mas na hora de executar o código dá erro, mesmo em modo de compatibilidade.
Dicas?
Última edição por GuGa™; 24-09-2011 às 19:21.
Eu sou o unico programador pascal aqui?
Pascal dá de 10 a 0 em C e Object Pascal em C++, sem comparação.
Claramente, qualquer programador que se dê respeito reconhece que C++ é horrível. Até o Linus Torvalds declara isso.
Antes de criticarem, eu to botando a politica e toda a merda que vem junto com isso a parte. Muita gente argumenta que existem milhares de linhas de código em c/c++, que existem milhares de livros e uma comunidade gigante, mas não é isso que importa. Na verdade, é insistir no erro.
O que me incomoda nisso tudo é a insistência no erro que é c/c++ e pior, o preconceito que o pessoal tem com Pascal.
O maior argumento contra é que Pascal é uma linguagem que foi construída para fins acadêmicos. E é obvio, uma linguagem com sintase tão clara e objetiva e que ainda é nativa, rápida em termos de desenvolvimento e execução e que pode ser muito bem usada para aplicações reais, quer mais o que duma linguagem?
Outro assunto, OOP.
Existem varias pessoas que defendem que OOP foi um erro, que foi mal implementada na maioria das linguagens(se não todas) e até que foi uma farsa.
Aqui os links dessas fontes:
http://reocities.com/tablizer/oopbad.htm
http://www.udidahan.com/2009/06/07/t...lacy-of-reuse/
http://www.infoq.com/news/2010/07/ob...alltalk-erlang
http://blog.jot.fm/2010/08/26/ten-th...d-programming/
Signed with Honor,
Van Hohenheim
Cara, primeiramente, C e C++ são linguagens completamente diferentes, que apesar de terem sintaxes parecidas, não foram criadas com os mesmos princípios e fim. O C++ é reconhecidamente uma linguagem que cometeu erros em seu projeto de linguagem, mas isso não quer dizer que os mesmos problemas estejam ligados à C.
Dito isso, acho a comparação de C com Pascal uma loucura. Qualquer recurso semântico, sintático ou de expressividade que o Pascal implementa em seu projeto de linguagem é executado com muito mais eficiência em C. Tempo de compilação, manipulação de memória, TAD`s, suporte e uso de bibliotecas, são características que colocam a linguagem C em outro patamar de uso, principalmente quando o suporte à programação de baixo nível é necessária.
A legibilidade de uma linguagem (que é a característica responsável pelo quanto ela é didática) entra em conflito direto com sua redigibilidade da mesma (a facilidade e simplicidade de se escrever). Isso é conceito básico em projeto de linguagens de programação. Então, usar essa pretensa legibilidade, que nem é tão boa assim se compararmos com linguagens como ADA ou PERL, como argumento central é um pouco precipitado.
Por último, dizer que POO é uma FARSA é de um radicalismo sem limites. O reuso existe, ele É usado como paradigma e é aplicado na prática. EU, pessoalmente, não gosto de usar a programação orientada a objetos simplesmente porque não necessito. Consigo implementar tudo que implementaria em OO com uma visão estruturada. Mas isso não quer dizer que para outro tipo de projeto ou programação o paradigma da OO não será útil.
Uma coisa que é preciso ser dita para as viúvas de linguagem que sempre aparecem é que quem define a utilidade, popularidade e qualidade de uma linguagem é o uso que é dado a ela. Se formos nos fixar em qualidades puramente técnicas, teríamos a linguagem ADA, que passou 10 anos sendo projetada nos melhores laboratórios do mundo, como uma linguagem ótima. Mas ADA apresenta características que fazem sua aplicação prática ser inviável.
E é a mesma coisa que aconteceu com o Pascal. Foi uma importante linguagem, implementou alguns conceitos e estruturas de dados até então subutilizados, mas na PRÁTICA, no dia a dia da implementação, deu lugar à soluções melhores.
Bom, não sei o seu nível de conhecimento acadêmico para que possamos aprofundar mais na discussão. Mas se você está em um início de faculdade de Computação, sugiro que antes tenha contato com as cadeiras que promovem análise técnica de linguagens. Existem vários conceitos envolvidos nessa análise, afirmar de maneira categórica que linguagem X é melhor que Y, não dando argumentos técnicos sólidos é coisa de Fanboy, está longe de ser opinião científica séria.
Lerei seus links, mas esperarei uma análise mais técnica da sua parte para poder levar a discussão para um nível mais alto.
Última edição por Bob Joe; 25-09-2011 às 19:35.
Liga das Lendas: Vintas