Você está aqui: Java ::: Coleções (Collections) ::: HashMap |
Removendo um valor de um HashMap baseado em sua chaveQuantidade de visualizações: 8892 vezes |
A classe HashMap nos fornece o método remove() que é muito útil quando precisamos excluir um valor baseado em sua chave. Veja sua assinatura:---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- public V remove(Object key) Note que este método recebe a chave cujo valor associado deverá ser removido e retorna tal valor. Este retorno é muito útil para sabermos se o valor foi realmente excluído. Se o retorno for null, temos um indicativo de que a chave fornecida não está contida no HashMap. Caso contrári o valor removido será retornado. Apenas tenha cuidado com valores null existentes como chaves ou valores. Veja um exemplo do uso do método remove(): ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- import java.util.*; public class Estudos{ public static void main(String[] args){ // vamos criar uma instância de HashMap HashMap<Integer, String> clientes = new HashMap<Integer, String>(); // vamos adicionar três chaves e seus valores clientes.put(new Integer(1), "Osmar J. Silva"); clientes.put(new Integer(2), "Salvador Miranda de Andrade"); clientes.put(new Integer(3), "Marcos da Costa Santos"); // vamos remover o valor correspondente à chave 3 String removido = clientes.remove(2); if(removido == null){ System.out.println("A chave informada não existe."); } else{ System.out.println(removido + " foi removido com sucesso."); } System.exit(0); } } |
![]() |
Java ::: Dicas & Truques ::: Arquivos e Diretórios |
Como verificar se um diretório já existe em Java usando o método exists() da classe FileQuantidade de visualizações: 39 vezes |
Em algumas situações nós precisamos verificar se um determinado diretório existe antes de efetuarmos alguma tarefa, talvez gravar um novo arquivo ou listar os arquivos contidos em um diretório. Para isso nós podemos o método exists() da classe File da linguagem Java. A classe File faz parte do pacote java.io. A função exists() da classe File retorna um valor true se o diretório existir, e false em caso contrário. Veja um exemplo de seu uso: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package arquivodecodigos; import java.io.File; public class Estudos{ public static void main(String args[]){ // Este exemplo mostra como verificar a existência de um // diretório usando Java File diretorio = new File("c:\\java"); // vamos checar se o diretório existe if(diretorio.exists()){ System.out.println("Diretorio ja existe no sistema"); } else{ System.out.println("Diretorio ainda nao existe no sistema"); } } } Ao executar este código Java nós teremos o seguinte resultado: O diretório já existe no sistema. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Geometria Analítica e Álgebra Linear |
Exercício Resolvido de Java - Como calcular o quadrante de uma coordenada cartesiana em JavaQuantidade de visualizações: 682 vezes |
Pergunta/Tarefa: O Plano Cartesiano, ou Sistema de Coordenadas Cartesianas, é formado por duas retas reais perpendiculares, ou seja, o ângulo entre elas é de 90 graus. Essas retas determinam um único plano, que é denominado como sistema ortogonal de coordenadas cartesianas ou somente plano cartesiano. No ano de 1637, René Descartes teve a brilhante ideia de relacionar álgebra e geometria, dando início à conhecida geometria analítica, método que possibilita descrever a geometria utilizando uma menor quantidade de diagramas e desenhos. Apesar de os créditos dessa descoberta serem dados a Descartes, Pierre de Fermat já conhecia e utilizava alguns conceitos de geometria analítica, logo o plano cartesiano. Há quatro quadrantes no Sistema de Coordenadas Cartesianas, conforme a figura a seguir: ![]() Como podemos ver, no primeiro quadrante, tanto o x quanto o y são positivos. No segundo quadrante o x é negativo e o y é positivo. No terceiro quadrante, tanto o x quanto o y são negativos. Por fim, no quarto quadrante, o x é positivo e o y é negativo. Escreva um programa Java que pede para o usuário informar os valores x e y de uma coordenada cartesiana e informe em qual quadrante essa coordenada se situa. Se os valores de x e y forem zero, informe que o ponto se situa na origem do plano cartesiano. Sua saída deverá ser parecida com: Informe o valor x da coordenada: 12 Informe o valor y da coordenada: -7 A coordenada (12,-7) está no Quarto Quadrante (+,-) Veja a resolução comentada deste exercício em Java: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // variáveis usadas na resolução do problema int x, y; // vamos pedir para o usuário informar as coordenadas System.out.print("Informe o valor x da coordenada: "); x = Integer.parseInt(entrada.nextLine()); System.out.print("Informe o valor y da coordenada: "); y = Integer.parseInt(entrada.nextLine()); // a coordenada está no primeiro quadrante? if (x > 0 && y > 0){ System.out.println("A coordenada (" + x + "," + y + ") está no Primeiro Quadrante (+,+)"); } // a coordenada está no segundo quadrante? else if (x < 0 && y > 0){ System.out.println("A coordenada (" + x + "," + y + ") está no Segundo Quadrante (-,+)"); } // a coordenada está no terceiro quadrante? else if (x < 0 && y < 0){ System.out.println("A coordenada (" + x + "," + y + ") está no Terceiro Quadrante (-,-)"); } // a coordenada está no quarto quadrante? else if (x > 0 && y < 0){ System.out.println("A coordenada (" + x + "," + y + ") está no Quarto Quadrante (+,-)"); } // a coordenada está na origem else{ System.out.println("A coordenada (" + x + "," + y + ") está na origem"); } } } |
Java ::: Dicas & Truques ::: Programação Orientada a Objetos |
Como usar classes abstratas em Java - Programação Orientada a Objetos - Java POOQuantidade de visualizações: 21808 vezes |
Classes abstratas (abstract classes) não diferem muito das classes que normalmente criamos, ou seja, elas também podem possuir propriedades e métodos. Porém, não é possível criar instâncias de uma classe abstrata usando o operador new. Veja:---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- abstract class Pessoa{ public String nome; public int idade; } public class Estudos{ public static void main(String args[]){ // cria um objeto da classe Pessoa Pessoa p = new Pessoa(); } } Ao tentarmos compilar este exemplo teremos a seguinte mensagem: Estudos.java:9: Pessoa is abstract; cannot be instantiated Pessoa p = new Pessoa(); ^ 1 error Classes abstratas geralmente contém métodos abstratos (ainda que métodos não abstratos sejam também permitidos). Um método abstrato é um método que possui apenas a assinatura. Não há implementação. Esta implementação deverá ser fornecida pela subclasse ou classe derivada. Uma classe que contém métodos abstratos deverá, obrigatoriamente, ser declarada abstrata. Veja um exemplo de um método abstrato: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- public abstract class Pessoa{ public abstract String getNome(); } Se a classe não fosse declarada com o modificador abstract, teríamos a seguinte mensagem de erro de compilação: Pessoa.java:1: Pessoa is not abstract and does not override abstract method getNome() in Pessoa public class Pessoa{ ^ 1 error Classes abstratas são um dos tópicos mais complicados da linguagem Java e uma dor de cabeça enorme para aqueles que estão estudando para a certificação Java. Mostramos abaixo algumas dicas resultantes de nossas pesquisas sobre o assunto. 1)Uma classe não abstrata não pode conter métodos abstratos. Se uma classe concreta (não abstrata) herda de uma classe abstrata e não implementa todos os métodos abstratos, a classe derivada deve ser declarada abstract. Além disso, métodos abstratos não podem ser marcados como static. Insistir nisso pode gerar a seguinte mensagem de erro de compilação: Pessoa.java:2: illegal combination of modifiers: abstract and static public static abstract String getNome(); ^ 2) Embora uma classe abstrata não possa ser instanciada usando o operador new, ela pode conter construtores. Tais construtores serão invocados nos construtores das classes derivadas. 3) Uma subclasse pode ser abstrata até mesmo se sua superclasse for concreta. E isso é fácil de notar, uma vez que todas as classes Java herdam de Object, que é concreta. 4) Uma classe derivada pode sobrescrever um método de sua superclasse e declará-lo abstract. Isso faz sentido quando a classe derivada for abstract e quiser tornar o método herdado inválido. 5) Embora uma classe abstrata não possa ser instanciada usando o operador new, ela pode ser usada como um tipo de dados. Esta técnica é útil quando parte do time de desenvolvedores precisa adiantar códigos que dependem de classes que ainda não foram implementadas (e, portanto, herdarão das classes abstratas usadas como tipos de dados) por outra parte do mesmo time. |
Java ::: Pacote java.awt.event ::: KeyEvent |
Java Swing - Como obter o caractere da tecla pressionada usando o método getKeyChar() da classe KeyEvent do JavaQuantidade de visualizações: 3044 vezes |
Em algumas situações nós precisamos obter o caractere da tecla pressionada em nossas aplicações Java Swing. Para isso podemos usar o método getKeyChar() da classe KeyEvent. Veja sua assinatura:public char getKeyChar() O retorno do método é um char representando o caractere associado à tecla "digitada" (pressionada e liberada). Veja um trecho de código no qual temos uma janela JFrame que implementa a interface KeyListener e reage ao evento keyTyped() mostrando a letra digitada: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package estudos; import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JFrame; import javax.swing.JOptionPane; public class Janela extends JFrame implements KeyListener{ public Janela(){ super("Eventos do Teclado"); Container c = getContentPane(); FlowLayout layout = new FlowLayout(FlowLayout.LEFT); c.setLayout(layout); // vamos adicionar o objeto listener addKeyListener(this); setSize(350, 250); setVisible(true); } @Override public void keyPressed(KeyEvent e){ // sem implementação } @Override public void keyReleased(KeyEvent e){ // sem implementação } @Override public void keyTyped(KeyEvent e){ // vamos obter o caractere que foi digitado char letra = e.getKeyChar(); // mostra o caractere digitado JOptionPane.showMessageDialog(null, "O caractere pressionado foi: " + letra); } public static void main(String args[]){ Janela j = new Janela(); j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } É importante observar que o valor retornado pelo método getKeyChar() só possui sentido quando usado com eventos KEY_TYPED, uma vez que o caractere não é exibido quando o método é usado com os eventos KEY_PRESSED e KEY_RELEASED. Note ainda que a tecla Shift pode ser usada durante este evento. Assim, se combinarmos Shift + "s", o retorno será "S". Este método retorna o valor da constante KeyEvent.CHAR_UNDEFINED se um caractere Unicode válido não existir para o evento de "digitação" da tecla. |
Java ::: Dicas & Truques ::: Programação Orientada a Objetos |
Como usar o modificador de acesso private em Java - Apostila Java para iniciantes - Programação Orientada a Objetos em JavaQuantidade de visualizações: 10307 vezes |
Um método ou variável declarada com o modificador de acesso private (privado) pode ser acessado somente por uma instância da classe que declara o método ou variável. Veja um exemplo:---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- // Classe Cliente class Cliente{ private String nome = "Osmar"; } // Classe de teste public class Estudos{ public static void main(String args[]){ Cliente cliente = new Cliente(); System.out.println(cliente.nome); System.exit(0); } } Ao tentarmos compilar este código teremos a seguinte mensagem de erro: Estudos.java:10: nome has private access in Cliente System.out.println(cliente.nome); O erro já era esperado, pois sabemos que a classe Estudos não tem acesso aos membros privados da classe Cliente. Experimente alterar o modificador private por public e veja o resultado: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- public String nome = "Osmar"; É importante observar que, se duas instâncias de uma classe forem criadas, uma terá acesso aos dados privados da outra, ou seja, o modificador private define quais classes (não instâncias) podem acessar determinado recurso. Além disso, saiba que classes de nível superior (Top-level) não podem ser declaradas como private. Elas podem ser no máximo de acesso de pacote (nenhum modificador). A mesma regra se aplica a interfaces. No entanto, classes e interfaces internas podem ser declaradas com o modificador private. Para finalizar, lembre-se de que sub-classes não possuem acesso à membros privados da superclasse. |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Java para iniciantes - Como substituir caracteres em uma string usando o método replace() da classe StringQuantidade de visualizações: 211 vezes |
Em algumas ocasiões nós precisamos substituir caracteres, ou seja, letras, números e símbolos em palavras, frases ou textos. Para isso nós podemos usar o método replace() da classe String da linguagem Java. Veja como isso pode ser feito no código completo a seguir: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package arquivodecodigos; public class Estudos{ public static void main(String[] args){ String frase = "Programar em Java é bom"; System.out.println("Original: " + frase); // substitui todas as ocorrências de "a" por "e" String frase2 = frase.replace('a', 'e'); System.out.println("Com substituições: " + frase2); System.exit(0); } } Ao executar este código nós teremos o seguinte resultado: Original: Programar em Java é bom Com substituições: Progremer em Jeve é bom |
Java ::: Classes e Componentes ::: JComboBox |
Como retornar o valor do item selecionado em um JComboBox do Java Swing usando a função getSelectedItem()Quantidade de visualizações: 15601 vezes |
Nesta dica mostrarei como podemos usar o método getSelectedItem() da classe JComboBox do Java Swing para obter e retornar o valor do item selecionado. Note que usei uma conversão forçada (casting) para String antes de exibir o valor do item selecionado. Para finalizar, coloquei uma mensagem JOptionPane.showMessageDialog para exibir o valor do item selecionado no JComboBox. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package estudos; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Estudos extends JFrame{ JComboBox combo; public Estudos() { super("A classe JComboBox"); Container c = getContentPane(); c.setLayout(new FlowLayout(FlowLayout.LEFT)); // Cria os itens da lista String nomes[] = {"Carlos", "Marcelo", "Fabiana", "Carolina", "Osmar"}; // Cria o JComboBox combo = new JComboBox(nomes); // Um botão que permite obter o valor do item selecionado JButton btn = new JButton("Obter valor selecionado"); btn.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ String valor = (String)(combo.getSelectedItem()); JOptionPane.showMessageDialog(null, "O valor selecionado é: " + valor); } } ); // Adiciona o JComboBox à janela c.add(combo); // Adiciona o botão à janela c.add(btn); setSize(350, 250); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } Ao executar este código Java nós teremos uma mensagem JOptionPane.showMessageDialog com o seguinte texto: O valor selecionado é: Osmar |
Java ::: Dicas & Truques ::: Data e Hora |
Como adicionar ou subtrair horas à data atual usando o método add() e a constante Calendar.HOUR da classe Calendar do JavaQuantidade de visualizações: 206 vezes |
Nesta dica mostrarei como podemos usar a função add() e a constante Calendar.HOUR da classe Calendar do Java para adicionar ou subtrair horas de uma data. Veja o exemplo a seguir:---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package estudos; import java.util.Calendar; public class Estudos { public static void main(String[] args) { // vamos construir uma instância da classe Calendar Calendar agora = Calendar.getInstance(); // vamos exibir a data e hora atuais System.out.println("Data e hora atual: " + agora.getTime().toString()); // adiciona 15 hora à hora atual agora.add(Calendar.HOUR, 13); // mostra a data e hora com as 15 horas adicionadas System.out.println("Daqui a 15 horas: " + agora.getTime().toString()); } } Ao executar este código Java nós teremos o seguinte resultado: Data e hora atual: Mon Jan 16 12:33:26 BRST 2023 Daqui a 15 horas: Tue Jan 17 01:33:26 BRST 2023 Se quisermos subtrair as horas ao invés de adicionar, basta fornecermos um valor negativo para o método add(). |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Noções de licitação pública Modalidade de licitação é a forma específica de conduzir o procedimento licitatório a partir de critérios definidos em lei. Sobre as modalidades da licitação pública, analise as afirmativas a seguir: I. São modalidades de licitação taxativamente expressas tanto no texto da Lei n.º 8.666/1993 quanto no da Lei n.º 14.133/2021: a concorrência, a tomada de preços, o convite, o concurso, o leilão e o pregão. II. Na modalidade convite, vigente na Lei n.º 8.666/1993, mas suprimida na Lei n.º 14.133/2021, o instrumento convocatório carta-convite prescinde de publicação, mas não de publicidade. III. Concurso é a modalidade de licitação que visa a selecionar candidatos concorrentes a um cargo efetivo de uma entidade governamental. IV. Leilão é a modalidade de licitação utilizada para a venda de bens. Estão corretas: A) I, II e IV. B) II e III. C) II e IV. D) I, III e IV. E) I, II, III e IV. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Hidrologia |
No que toca à extensão, qual bacia hidrográfica é considerada a maior bacia do mundo? A) Bacia Amazônica. B) Bacia Platina. C) Bacia Chinesa. D) Bacia do Rio Grande. E) Bacia do Rio da Prata. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil |
Processos e técnicas construtivas de instalações elétricas e hidráulicas As instalações hidráulicas consistem nos sistemas de distribuição de água fria e quente, bem como nos sistemas de coleta de esgoto sanitário e águas pluviais. Relacione as colunas a seguir, referentes aos dispositivos empregados em instalações hidráulicas. 1. Tubos rígidos de PVC. 2. Registros de gaveta. 3. Registros de pressão. 4. Sifão. ( ) Dispositivo utilizado para controlar o fluxo de vazão em uma instalação hidráulica. ( ) Dispositivo empregado com o objetivo de impedir o retorno de odores do esgoto sanitário. ( ) Dispositivo utilizado para interromper o fluxo de vazão em uma instalação hidráulica. ( ) Dispositivo de utilização inviável em instalações prediais de água quente. Assinale a alternativa que apresenta a ordem correta, de cima para baixo. A) 1 - 2 - 3 - 4. B) 3 - 4 - 1 - 2. C) 4 - 3 - 1 - 2. D) 2 - 1 - 3 - 4. E) 3 - 4 - 2 - 1. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Materiais de construção Não se caracteriza como um fator de escolha dos materiais de construção: A) Descarte de material B) Disponibilidade do material C) Durabilidade do material D) Resistência a tração e compressão E) Baixo custo do material Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fundações |
Fundações diretas ou rasas A viga de fundação é também chamada de viga baldrame. É utilizada para conectar sapatas isoladas e distribuir melhor o peso da estrutura para as camadas do solo. A partir disso, projete uma viga de fundação para os pilares P1 e P2, indicados na figura, sendo a taxa no solo σs = 0,4. Considere: P1 = P2 = 1.800KN. Dimensões P1 e P2 = 25cmX100cm. ![]() A) a = 400cm e b = 280cm. B) a = 365cm e b = 250cm. C) a = 250cm e b = 365cm. D) a = 345cm e b = 230cm. E) a = 405cm e b = 315cm. Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |