Você está aqui: Java ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o ponto médio entre dois pontos no plano usando Java - Geometria com JavaQuantidade de visualizações: 3046 vezes |
Nesta dica mostrarei como é possível usar um trecho de código Java para obter o ponto médio entre dois pontos quaisquer no plano, ou seja, no R2. Em mais dicas dessa seção você aprenderá como isso pode ser feito no R3 (espaço) Comece analisando a figura abaixo, na qual temos dois pontos A e B, com suas coordenadas correspondentes, e o ponto médio M: ![]() Assim, dados dois pontos A = (2, 9) e B = (10, 2) no plano cartesiano R2, as coordenadas x e y do ponto médio são calculadas por meio da seguinte fórmula: \[x = \frac{x_1 + x_2}{2}\] \[y = \frac{y_1 + y_2}{2}\] Colocando na fórmula os valores que já temos: \[x = \frac{2 + 10}{2} = \frac{12}{2} = 6 \] \[y = \frac{9 + 2}{2} = \frac{11}{2} = 5.5 \] Assim, as coordenadas do ponto médio será (x = 6, y = 5.5). E agora veja o código Java completo para calcular as coordenadas do ponto médio a partir de dois pontos no plano cartesiano (plano 2D ou R2): ---------------------------------------------------------------------- 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.util.Scanner; public class Estudos{ public static void main(String[] args){ Scanner entrada = new Scanner(System.in); // x e y do primeiro ponto System.out.print("Coordenada x do primeiro ponto: "); float x1 = Float.parseFloat(entrada.nextLine()); System.out.print("Coordenada y do primeiro ponto: "); float y1 = Float.parseFloat(entrada.nextLine()); // x e y do segundo ponto System.out.print("Coordenada x do segundo ponto: "); float x2 = Float.parseFloat(entrada.nextLine()); System.out.print("Coordenada y do segundo ponto: "); float y2 = Float.parseFloat(entrada.nextLine()); // vamos calcular as coordenadas x e y do ponto médio float x = (x1 + x2) / 2; float y = (y1 + y2) / 2; // vamos mostrar o resultado System.out.println("As coordenadas do ponto médio são: (x = " + x + ", y = " + y + ")"); } } Ao executarmos este código Java nós teremos o seguinte resultado: Coordenada x do primeiro ponto: 2 Coordenada y do primeiro ponto: 9 Coordenada x do segundo ponto: 10 Coordenada y do segundo ponto: 2 As coordenadas do ponto médio são: (x = 6.0, y = 5.5) |
![]() |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercício Resolvido de Java - Um método recursivo que calcula o número de Fibonacci para um dado índiceQuantidade de visualizações: 6927 vezes |
Pergunta/Tarefa: Observe a série de números Fibonacci abaixo: Série: 0 1 1 2 3 5 8 13 21 34 55 89 Índice: 0 1 2 3 4 5 6 7 8 9 10 11 Este algorítmos consiste em, dado um determinado índice, retornar o número de Fibonacci correspondente. Recursivamente, o cálculo pode ser feito da seguinte forma: fib(0) = 0; fib(1) = 1; fib(indice) = fib(indice - 2) + fib(indice - 1); sendo o indice >= 2 Os casos nos quais os índices são 0 ou 1 são os casos bases (aqueles que indicam que a recursividade deve parar). Seu método deverá possuir a seguinte assinatura: public static int fibonacci(int indice){ // sua implementação aqui } Informe o índice: 6 O número de Fibonacci no índice informado é: 8 Veja a resolução comentada deste exercício usando Java console: ---------------------------------------------------------------------- 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) { // cria um novo objeto da classe Scanner Scanner entrada = new Scanner(System.in); // vamos solicitar o índice do número de Fibonacci System.out.print("Informe o índice: "); // lê o índice int indice = Integer.parseInt(entrada.nextLine()); // calcula o número de Fibonacci no índice informado System.out.print("O número de Fibonacci no índice informado é: " + fibonacci(indice)); System.out.println("\n"); } // método recursivo que o número de Fibonacci em um determinado índice public static int fibonacci(int indice){ if(indice == 0){ // caso base; interrompe a recursividade return 0; } else if(indice == 1){ // caso base; interrompe a recursividade return 1; } else{ // efetua uma nova chamada recursiva return fibonacci(indice - 1) + fibonacci(indice - 2); } } } |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercício Resolvido de Java - Escreva um programa Java que informa a quantidade de dias em um determinado mês e ano. Seu código deverá solicitar ao usuário o número correspondenteQuantidade de visualizações: 965 vezes |
Exercícios Resolvidos de Java - Escreva um programa Java que informa o número de dias em um determinado mês e ano. Seu código deverá solicitar ao usuário o número correspondente Pergunta/Tarefa: Escreva um programa Java que informa a quantidade de dias em um determinado mês e ano. Seu código deverá solicitar ao usuário o número correspondente ao mês, na faixa de 1 a 12, e o ano. Verifique também se o ano é bissexto ou não. Sua saída deverá ser parecida com: Informe o mês (1 - 12): 4 Informe o ano: 2022 Abril de 2022 possui 30 dias. Veja a resolução comentada deste exercício usando 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) { // vamos usar a classe Scanner para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // para guardar a quantidade de dias no mês int quantDiasNoMes = 0; // para o nome do mês String nomeMes = ""; // vamos ler o número do mês System.out.print("Informe o mês (1 - 12): "); int mes = Integer.parseInt(entrada.nextLine()); // vamos ler o ano System.out.print("Informe o ano: "); int ano = Integer.parseInt(entrada.nextLine()); // agora usamos um switch para tratar o mês informado switch (mes){ case 1: nomeMes = "Janeiro"; quantDiasNoMes = 31; break; case 2: nomeMes = "Fevereiro"; // é ano bissexto? if ((ano % 400 == 0) || ((ano % 4 == 0) && (ano % 100 != 0))) { quantDiasNoMes = 29; } else { quantDiasNoMes = 28; } break; case 3: nomeMes = "Março"; quantDiasNoMes = 31; break; case 4: nomeMes = "Abril"; quantDiasNoMes = 30; break; case 5: nomeMes = "Maio"; quantDiasNoMes = 31; break; case 6: nomeMes = "Junho"; quantDiasNoMes = 30; break; case 7: nomeMes = "Julho"; quantDiasNoMes = 31; break; case 8: nomeMes = "Agosto"; quantDiasNoMes = 31; break; case 9: nomeMes = "Setembro"; quantDiasNoMes = 30; break; case 10: nomeMes = "Outubro"; quantDiasNoMes = 31; break; case 11: nomeMes = "Novembro"; quantDiasNoMes = 30; break; case 12: nomeMes = "Desembro"; quantDiasNoMes = 31; break; } // mostra o resultado System.out.println(nomeMes + " de " + ano + " possui " + quantDiasNoMes + " dias."); System.out.println("\n"); } } |
Java ::: Dicas & Truques ::: Arquivos e Diretórios |
Como verificar se um arquivo ou diretório existe em Java usando o método exists() da classe FileQuantidade de visualizações: 39 vezes |
Em algumas situações nós precisamos checar a existência de um arquivo ou diretório em Java. Para isso nós podemos usar o método exists() da classe File, do pacote java.io. Este método recebe uma string contendo o caminho do arquivo ou diretório e retorna true se o arquivo ou diretório indicado existir, e false em caso contrário. 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 ---------------------------------------------------------------------- package arquivodecodigos; import java.io.*; public class Estudos{ public static void main(String[] args){ // vamos verificar a existência de um arquivo File arquivo = new File("C:\\estudos_java\\lago.jpg"); if(arquivo.exists()){ System.out.println("O arquivo existe"); } else{ System.out.println("O arquivo não existe"); } } } O arquivo existe no caminho indicado. É importante observar que o método exists() pode disparar uma exceção do tipo Security Exception se o arquivo ou diretório não possuir permissão de acesso ou escrita. |
Java ::: Classes e Componentes ::: JList |
Java Swing - Como obter o valor selecionado em um JList usando o método getSelectedValue()Quantidade de visualizações: 13118 vezes |
Nesta dica eu mostro como chamar o método getSelectedValue() de um controle JList para obter o valor do item selecionado na mesma. No exemplo nós exibimos o item selecionado em uma mensagem JOptionPane ao clicarmos em um botão JButton. 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 arquivodecodigos; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Estudos extends JFrame{ JList lista; public Estudos() { super("A classe JList"); Container c = getContentPane(); c.setLayout(new FlowLayout(FlowLayout.LEFT)); // Cria os itens da lista String nomes[] = {"Carlos", "Marcelo", "Fabiana", "Carolina", "Osmar"}; // Cria a JList lista = new JList(nomes); // Define a seleção única para a lista lista.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); // 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)(lista.getSelectedValue()); JOptionPane.showMessageDialog(null, "O valor selecionado é: " + valor); } } ); // Adiciona a lista à janela c.add(new JScrollPane(lista)); // 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 esta aplicação Java Swing nós teremos o seguinte resultado: ![]() |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Como calcular salário líquido em Java - Calculando o salário líquido de um professorQuantidade de visualizações: 10509 vezes |
Pergunta/Tarefa: Escreva um programa Java que calcule o salário líquido de um professor. Seu programa deverá solicitar que o usuário informe o valor da hora aula (como double), o número de horas trabalhadas no mês (como inteiro) e o percentual de desconto do INSS (como double). Em seguida mostre o salário líquido, formatado de acordo com a moeda brasileira em vigor (na resolução eu usei o Real). Sua saída deverá ser parecida com: Informe o valor da hora aula: 28 Informe o número de horas trabalhadas no mês: 12 Informe o percentual de desconto do INSS: 8 Salário Bruto: R$ 336,00 Total de Descontos: R$ 26,88 Salário Líquido: R$ 309,12 Veja a resolução comentada deste exercício usando Java console: ---------------------------------------------------------------------- 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.text.NumberFormat; import java.util.Scanner; public class Estudos{ public static void main(String[] args) { // vamos fazer a leitura usando a classe Scanner Scanner entrada = new Scanner(System.in); // vamos ler o valor do hora aula System.out.print("Informe o valor da hora aula: "); double valorHoraAula = Double.parseDouble(entrada.nextLine()); // vamos ler o número de horas trabalhadas no mês System.out.print("Informe o número de horas trabalhadas no mês: "); int horasTrabalhadas = Integer.parseInt(entrada.nextLine()); // vamos ler o percentual de desconto do INSS System.out.print("Informe o percentual de desconto do INSS: "); double percentualDescontoINSS = Double.parseDouble(entrada.nextLine()); // vamos calcular o salário bruto double salarioBruto = valorHoraAula * horasTrabalhadas; // agora calculamos o total do desconto double totalDesconto = (percentualDescontoINSS / 100) * salarioBruto; // finalmente calculamos o salário líquido double salarioLiquido = salarioBruto - totalDesconto; // mostramos o resultado NumberFormat formato = NumberFormat.getCurrencyInstance(); System.out.println("Salário Bruto: " + formato.format(salarioBruto)); System.out.println("Total de Descontos: " + formato.format(totalDesconto)); System.out.println("Salário Líquido: " + formato.format(salarioLiquido)); } } |
Java ::: Classes e Componentes ::: JTable |
Java Swing - Como excluir linhas de uma JTable em tempo de execução usando o método removeRow() da classe DefaultTableModelQuantidade de visualizações: 15870 vezes |
Nesta dica mostrarei como é possível excluir uma determinada linha de uma JTable usando o método removeRow() da classe DefaultTableModel. Veja que mostro também como inserir novas linhas na JTable usando o método insertRow(). Veja o resultado obtido na imagem abaixo: ![]() E agora o código Java Swing completo: ---------------------------------------------------------------------- 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 javax.swing.*; import java.awt.*; import java.awt.event.*; import javax.swing.table.*; public class Estudos extends JFrame{ public Estudos(){ super("Exemplo de uma tabela simples"); final DefaultTableModel modelo = new DefaultTableModel(); // constrói a tabela JTable tabela = new JTable(modelo); // Cria duas colunas modelo.addColumn("Nome"); modelo.addColumn("Idade"); JButton btn = new JButton("Inserir Linhas"); btn.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ String nome = JOptionPane.showInputDialog(null, "Informe o nome:"); String idade = JOptionPane.showInputDialog(null, "Informe a idade:"); int pos = Integer.parseInt(JOptionPane.showInputDialog(null, "Informe a posição da nova linha:")); // testa se a posição é válida if(pos > (modelo.getRowCount() - 1)) pos = 0; // Insere uma linha na posição especificada modelo.insertRow(pos, new Object[]{nome, idade}); } } ); JButton btn2 = new JButton("Excluir Linhas"); btn2.addActionListener( new ActionListener(){ @Override public void actionPerformed(ActionEvent e){ int pos = Integer.parseInt(JOptionPane.showInputDialog(null, "Informe a posição da linha a ser excluída:")); // testa se a posição é válida if(pos < modelo.getRowCount()) // Exclui a linha na posição especificada modelo.removeRow(pos); } } ); tabela.setPreferredScrollableViewportSize(new Dimension(350, 50)); Container c = getContentPane(); c.setLayout(new FlowLayout()); JScrollPane scrollPane = new JScrollPane(tabela); c.add(scrollPane); c.add(btn); c.add(btn2); setSize(400, 300); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como retornar o tamanho de uma string em Java usando o método length() da classe StringQuantidade de visualizações: 345 vezes |
O método length() da classe String do Java é muito útil quando queremos o tamanho, ou seja, o comprimento de uma string. Uma string é um conjunto de caracteres que compôem uma palavra, frase ou texto em Java. Este método é chamado diretamente na instância da classe String e retorna um int contendo o tamanho da string. 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; // Este exemplo mostra como obter o tamanho de uma string public class Estudos{ public static void main(String[] args){ String frase = "Java é muito interessante"; // vamos obter o tamanho da string int tam = frase.length(); // e mostramos o resultado System.out.println("Esta string contem " + tam + " caracteres"); System.exit(0); } } Ao executar este código Java nós teremos o seguinte resultado: Esta string contem 25 caracteres. |
Java ::: Fundamentos da Linguagem ::: Comentários |
Java para iniciantes - Como inserir comentários em seus códigos JavaQuantidade de visualizações: 13374 vezes |
Comentários em Java, assim como em outras linguagens, são ignorados pelo compilador. Em Java, podemos usar dois estilos de comentários: 1) Comentário de uma única linha: ---------------------------------------------------------------------- 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 ---------------------------------------------------------------------- // obtém o resultado do cálculo int res = 4 + 5; // aqui também pode 2) Comentários de múltiplas linhas: ---------------------------------------------------------------------- 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 ---------------------------------------------------------------------- /* Este exemplo mostra como verificar se um número é par ou ímpar. */ |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
Sistema domiciliar de abastecimento de água Instalações hidrossanitárias compreendem subsistemas de uma edificação para a correta captação, transporte e armazenagem de fluidos. Para o perfeito funcionamento dessas instalações, conhecer seus principais componentes é fundamental. Dessa forma, conforme a NBR 5626:2020, qual das opções a seguir está correta? A) Cavalete: conjunto padronizado de tubulações e conexões destinado à instalação do hidrômetro, situado no ramal predial. B) Extravasor: é caracterizado pela tubulação derivada do barrilete e destinado a alimentar os reservatórios. C) Alimentador predial: tubulação que se origina no reservatório e do qual derivam as colunas de distribuição se o tipo de abastecimento for indireto. D) Fonte de abastecimento: reservatório localizado na parte mais elevada de uma residência, destinada ao seu abastecimento direto. E) Instalação elevatória: sistema destinado a fornecer água para o sistema. Pode ser a rede pública da concessionária ou qualquer sistema particular de fornecimento de água. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Pilares centrais: dimensionamento e detalhes construtivos Quando se calcula um pilar central, deve-se ater para sua esbeltez, que influenciará diretamente o comportamento sobre alguns parâmetros utilizados para calcular a esbeltez. Sobre essa afirmação, pode-se dizer que: A) o cálculo da excentricidade mínima não influencia a comparação de esbeltez. B) o parâmetro αb é uma relação entre a vinculação do pilar. C) o pilar central não é submetido a esforços de segunda ordem, pois a carga está centralizada. D) quando se calcula um pilar, deve-se considerar a excentricidade sempre em um sentido. E) o parâmetro αb é um parâmetro que não influencia a comparação da esbeltez com a esbeltez limite. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil |
Serviços preliminares e instalações provisórias A instalação de tapumes é obrigatória em atividades de construção, para impedir o acesso de pessoas estranhas ao serviço. Sobre a instalação de tapumes e serviços decorrentes: A) Os tapumes devem ter altura mínima de 2,2 m em relação ao nível do terreno. B) Em edifícios com mais de dois pavimentos, é facultativa a construção de galerias para o tráfego de pedestres sobre o passeio. C) As bordas da galeria para pedestres devem possuir tapumes com altura mínima de 2,0 m e inclinação de 45°. D) Não é obrigatória a instalação de tapume em todo o perímetro da obra, apenas na testada do lote. E) As galerias para o tráfego de pedestres devem ter altura livre mínima de 2,5 m. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Java |
Analise o seguinte código Javapublic class Estudos { public static void main(String[] args) { int a = 3; System.out.println(++a * 8); } } Qual é o resultado de sua execução? A) 24 B) 32 C) 72 D) 25 Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fundações |
Fundações diretas ou rasas As sapatas são elementos da fundação rasa dimensionadas de modo que as tensões de tração nelas atuantes resistam por meio de uma armadura disposta com essa finalidade, sendo produzidas com concreto armado. Considerando a importância da utilização desse tipo de fundação nas edificações, dimensione uma sapata para um pilar de 30X100 com carga 2.000KN para um σs = 0,5Mpa. Observações: - A sapata não deverá ter nenhuma dimensão menor que 60cm. - Os valores de a e b devem ser escolhidos de modo que a relação entre a e b seja, no máximo, igual a 2,5. - Os valores de a e b devem ser escolhidos de forma que os balanços da sapata, em relação às faces do pilar, sejam iguais nas duas direções. Assinale a alternativa correta. A) a = 240cm e b = 170cm. B) a = 250cm e b = 190cm. C) a = 230cm e b = 150cm. D) a = 245cm e b = 180cm. E) a = 220cm e b = 130cm. 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 |
Delphi - Como obter e exibir todos os itens selecionados em uma TListBox do Delphi de seleção múltipla AutoCAD .NET API C# - Como selecionar uma linha no AutoCAD e mostrar a equação da reta correspondente usando AutoCAD .NET C# API |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |