E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser. Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 19,90
Java ::: Classes e Componentes ::: JTable

Java Swing - Como colorir o fundo das células de uma JTable baseado em seus valores

Quantidade de visualizações: 194 vezes
Nesta dica veremos como é possível criar uma classe personalizada que extende a classe JLabel e implementa a interface TableCellRenderer e usá-la como renderizador das células de uma JTable. Dessa forma conseguiremos aplicar uma cor diferente a cada célula dependendo do seu valor. Veja o resultado na figura abaixo:



Veja agora o código Java Swing completo para o exemplo:

package arquivodecodigos;

import javax.swing.*;
import java.awt.*;
import javax.swing.table.*;
 
public class Estudos extends JFrame{
  public Estudos(){
    super("Exemplo de uma tabela simples");
         
    // colunas da tabela
    String[] colunas = {"Nome", "Idade", "Sexo"};
         
    // conteúdo da tabela   
    Object[][] conteudo = {
        {"Osmar J. Silva", "32", "Masculino"},
        {"Maria Clara Gomes", "19", "Feminino"},
        {"Fernando Gomes", "15", "Masculino"},
        {"Carlos Vieira", "40", "Masculino"}
    };
         
    // constrói a tabela
    JTable tabela = new JTable(conteudo, colunas);
     
    // quero colorir o fundo das células da segunda coluna
    // se o valor encontrado for menor que 20
    TableCellRenderer tcr = new Colorir();
    TableColumn column = 
        tabela.getColumnModel().getColumn(1);
    column.setCellRenderer(tcr);
  
    tabela.setPreferredScrollableViewportSize(new 
          Dimension(350, 50));
     
    Container c = getContentPane();
    c.setLayout(new FlowLayout());
             
    JScrollPane scrollPane = new JScrollPane(tabela);
    c.add(scrollPane);
         
    setSize(400, 300);
    setVisible(true);
  }
     
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}
 
class Colorir extends JLabel implements TableCellRenderer{
  public Colorir(){
    setOpaque(true);
  }
   
  @Override
  public Component getTableCellRendererComponent(
     JTable table, 
     Object value, boolean isSelected, boolean hasFocus,
        int row, int column){
     
     if(Integer.parseInt(value.toString()) < 20){
       setBackground(Color.YELLOW); 
     }
     else{
       setBackground(table.getBackground());        
     }
      
     setText(value.toString());
         
     return this;       
  }
   
  @Override
  public void validate() {}
  
  @Override
  public void revalidate() {}
  
  @Override
  protected void firePropertyChange(String propertyName,
     Object oldValue, Object newValue) {}
  
  @Override
  public void firePropertyChange(String propertyName,
     boolean oldValue, boolean newValue) {}  
}



Erlang ::: Dicas de Estudo e Anotações ::: Passos Iniciais

Quer aprender a programar em Erlang? Comece instalando e configurando o ambiente de programação da Erlang

Quantidade de visualizações: 759 vezes
Nos dias atuais (2023), muitos estudantes de programação estão aprendendo novas linguagens usando os compiladores e interpretadores online. Esta é uma abordagem interessante, pois promove uma grande economia de tempo no que se refere à instalação e configuração dos ambientes de programação.

No entanto, à medida que as aplicações começam a ficar mais complexas, é necessário termos o ambiente funcionando localmente. Por isso é importante sabermos instalar e configurar o ambiente de programação Erlang em nossa máquina.

Como instalar a Erlang

Nessa dica mostrarei como instalar e testar o ambiente de programação Erlang no Windows 10. Para isso, direcione o seu navegador para a URL https://www.erlang.org/downloads e localize o download apropriado para o Windows, a saber, Download Windows Installer.

Para esta dica eu baixei o Erlang/OTP 25.3 (otp_win64_25.3.exe). Trata-se de um instalador com o tamanho de 126MB.

A instalação é simples e, em geral, só precisamos confirmar as sugestões que o instalador nos apresenta. Assim, basta pressionar o botão Next e aguardar a instalação ser finalizada.

Após a conclusão da instalação nós precisamos adicionar o caminho "C:\Program Files\Erlang OTP\bin" na variável PATH do Windows, para que as ferramentas de linha de comando da Erlang sejam reconhecidas. Para isso, vá em Propriedades do Sistema -> Variáveis de Ambiente e adicione este caminho à variável PATH. Você pode fazê-lo tanto para o seu usuário quanto para o sistema.

Como testar a atualização do ambiente de programação da Erlang

Depois de atualizar a variável de ambiente PATH, abra uma nova janela de terminal e digite o seguinte comando:

C:\Users\Osmar>erl -version

Se tudo correu bem, você terá um resultado parecido com:

Erlang (SMP,ASYNC_THREADS) (BEAM) emulator version 13.2

Parabéns! Você já está pronto para iniciar seus estudos em Erlang e todas as demais linguagens e ferramentas que compõem o seu ecosistema.


JavaScript ::: Dicas & Truques ::: Data e Hora

Como usar o objeto Date em JavaScript - Curso de JavaScript para iniciantes

Quantidade de visualizações: 7447 vezes
O objeto Date é um tipo de dados embutido na linguagem JavaScript. Objetos Date são criados, em sua forma mais simples (construtor sem argumentos), da seguinte forma:

<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>

<script type="text/javascript">
  // vamos criar um novo objeto Date
  var hoje = new Date();

  // vamos exibir a representação deste objeto Date
  document.write("Data e hora atual: " + hoje);
</script>

</body>
</html>

Ao executarmos este código teremos um resultado parecido com:

Data e hora atual: Fri Mar 18 10:02:02 UTC-0300 2011

Note que a representação textual de um objeto Date é a data atual no formato curto (em inglês), as horas e a diferença em relação ao horário UTC (Universal Time Coordinated, sucessor do GMT - Greenwich Mean Time).

Uma vez criado um objeto Date, podemos usar vários de seus métodos para operar sobre seus valores de datas e horas. A maioria dos métodos serve simplesmente para obter ou definir os valores dos campos ano, mês, dia, horas, minutos, segundos e milisegundos, usando a hora local ou UTC. O método toString() e suas variantes nos permitem converter datas e horas para os formatos comumente exibidos aos usuários. Veja um exemplo:

<script type="text/javascript">
  // vamos criar um novo objeto Date
  var hoje = new Date();

  // vamos exibir a representação deste objeto Date
  document.write("Data e hora atual: " + hoje.toLocaleString());
</script>


Ao executarmos este código teremos um resultado parecido com:

Data e hora atual: sexta-feira, 18 de março de 2011 15:44:07

Aqui nós usamos o método toLocaleString() do objeto Date para exibir a data e hora de acordo com as configurações regionais do computador local. Os métodos getTime() e setTime() obtém ou definem a representação interna do objeto Date como o número de milisegundos decorridos desde a meia-noite do dia 1º de janeiro de 1970 (GMT). Neste formato padrão de milisegundos, a data e hora são representadas por um único inteiro, o que facilita os cálculos envolvendo datas e horas. O padrão ECMAScript exige que o objeto Date seja capaz de representar qualquer data e hora, na precisão de milisegundos, na faixa de 100 milhões de anos antes ou depois de 01/01/1970.


PHP ::: Dicas & Truques ::: Variáveis e Constantes

Como testar se uma variável é do tipo float (número de ponto-flutuante) usando as funções is_float() e is_real() do PHP

Quantidade de visualizações: 12803 vezes
Em algumas situações podemos querer saber se o tipo de uma variável é float, ou seja, contém um valor com casas decimais.

Este teste pode ser feito com o auxílio da função is_float() ou is_real(). Esta função retorna um valor true ou false dependendendo do tipo de variável sendo testada.

<?php
  $valor = 0.6;

  if(is_float($valor)){
    echo 'A variável $valor é do tipo float';
  }
?>

Ao executar este código PHP nós teremos o seguinte resultado:

A variável $valor é do tipo float


Python ::: Dicas & Truques ::: Lista (List)

Como inverter a ordem dos elementos em uma lista Python usando o método reverse()

Quantidade de visualizações: 17160 vezes
Inverter a ordem dos itens de um vetor ou lista é uma das tarefas mais corriqueiras durante o trabalho de programação. Na linguagem Python nós podemos inverter os elementos de uma list usando o método reverse(), já embutido na linguagem.

Este método modifica a lista original. Veja um exemplo de seu uso:

def main():
  # cria uma lista de inteiros
  valores = [2, 5, 12, 2, 3, 32, 18]

  # exibe a lista na ordem original
  print(valores)

  # inverte a lista
  valores.reverse()

  # exibe a lista na ordem invertida
  print(valores)
  
if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

[2, 5, 12, 2, 3, 32, 18]
[18, 32, 3, 2, 12, 5, 2]


Java ::: Classes e Componentes ::: JTextArea

Java Swing - Como adicionar mais texto a um JTextArea usando o método append()

Quantidade de visualizações: 93 vezes
Nesta dica mostrarei como é possível usar o método append() da classe JTextArea para adicionar mais conteúdo a esse controle. Esta é uma técnica muito importante no desenvolvimento de aplicações Java Swing.

Segue um exemplo completo (note que fiz toda a aplicação Java Swing na mão mesmo, ou seja, não usei o editor visual do NetBeans ou semelhantes):

package arquivodecodigos;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Estudos extends JFrame {
  JTextArea textArea;
  JTextField texto;
  JButton btn;

  public Estudos() {
    super("Como adicionar texto a um JTextArea");
    Container c = getContentPane();
    FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
    c.setLayout(layout);

    textArea = new JTextArea(10, 20);

    texto = new JTextField(10);
    btn = new JButton("Adicionar Texto");
    btn.addActionListener(
      new ActionListener() {
        public void actionPerformed(ActionEvent e) {
          textArea.append(texto.getText());
        }
      }
    );

    c.add(textArea);
    c.add(texto);
    c.add(btn);

    setSize(350, 250);
    setVisible(true);
  }

  public static void main(String args[]) {
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

Veja que neste exemplo, mais conteúdo é adicionado ao controle JTextArea sem provocar uma quebra de linha. Em outras dicas e truques dessa seção você aprenderá como isso pode ser feito.


Portugol ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição

Exercício Resolvido de Portugol - Calculando e exibindo os números primos entre 2 e 100

Quantidade de visualizações: 221 vezes
Pergunta/Tarefa:

Um inteiro é um número primo se ele for divisível somente por 1 e por ele mesmo. Assim, 2, 3, 5 e 7 são primos, enquanto 4, 6, 8 e 9 não são. Note que o número 1 não é primo.

Escreva um programa (algorítmo) Portugol Web Studio que usa um laço PARA, ENQUANTO ou FACA...ENQUANTO para calcular e exibir os números primos entre 2 (incluindo) e 100 (incluindo).

Sua saída deverá ser parecida com:

Numeros primos entre 2 e 100: 
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
Resposta/Solução:

Veja a resolução comentada deste exercício usando Portugol Web Studio:

programa {
  funcao inicio() {
    // limite dos números primos (incluindo)
    inteiro limite = 100
    logico primo

    // Lembre-se! O número 1 não é primo
    escreva("Numeros primos entre 2 e " + limite + ":\n")
  
    // laço que percorre os valores de 2 até o limite desejado
    para (inteiro i = 2; i <= limite; i++) {
      primo = verdadeiro
                       
      // se o valor de i for 7, a variável j do laço contará
      // de 2 até 7 / 2 (divisão inteira), ou seja, 3. Se o 
      // módulo de 7 por qualquer um dos valores neste intervalo 
      // for igual a 0, então o número não é primo
      para (inteiro j = 2; j <= (i / 2); j++) {
        se (i % j == 0) {
          primo = falso // não é primo
          pare
        }
      }
    
      se (primo == verdadeiro) {
        escreva(i, " ")
      }
    }
  }
}



Java ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como calcular o arco cosseno de um número em Java usando o método acos() da classe Math

Quantidade de visualizações: 11909 vezes
O arco cosseno, ou arco coseno (também chamado de cosseno inverso) pode ser representado por cos-1 x, arccos x ou acos x. Esta função é a inversa do cosseno, ou seja, se o cosseno é a relação entre o cateto adjacente ao ângulo e a hipotenusa, o arco cosseno parte desta relação para encontrar o valor do ângulo.

Em Java, o arco cosseno de um número pode ser obtido por meio do método acos() da classe Math. Este método recebe um valor double e retorna também um double, na faixa 0 <= x <= PI, onde PI vale 3.1416.

Veja um código Java completo no qual informamos um número e em seguida calculamos o seu arco-cosseno:

package arquivodecodigos;

public class Estudos{
  public static void main(String args[]){
    double numero = 0.5;
    System.out.println("O arco cosseno de " +
      numero + " é " + Math.acos(numero));
  }
}

Ao executar este código nós teremos o seguinte resultado:

O arco cosseno de 0.5 é 1.0471975511965979

Não se esqueça de que as funções trigonométricas são usadas para modelar o movimento das ondas e fenômenos periódicos, como padrões sazonais. Elas formam a base para análises avançadas em engenharia elétrica, processamento digital de imagem, radiografia, termodinâmica, telecomunicações e muitos outros campos da ciência e da tecnologia.


Java ::: Dicas & Truques ::: Arquivos e Diretórios

Como ler o conteúdo de um arquivo texto em Java usando as classes BufferedReader, FileReader e a função readLine()

Quantidade de visualizações: 159 vezes
Nesta dica mostrarei como podemos combinar as classes BufferedReader, FileReader e a função readLine() para ler o conteúdo de um arquivo texto em Java, uma linha de cada vez.

Veja o código completo para o exemplo:

package estudos;

import java.io.*;

public class Estudos {
  public static void main(String[] args) {
    try {
      BufferedReader in = new BufferedReader(
        new FileReader("c:\\estudos_java\\alunos.txt"));
      String linha;
      while((linha = in.readLine()) != null){
        System.out.println(linha);
      }
      in.close();
    } 
    catch (IOException e){
      System.out.println("Houve um erro: " + e.getMessage());
    }

    System.out.println();
  }
}

Ao executar este código Java nós teremos o seguinte resultado:

Alberto
Maria
Fernanda
Josias


C++ ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Vetores e matrizes em C++ - Como passar vetores e matrizes para as suas funções C++

Quantidade de visualizações: 12243 vezes
Muitas vezes precisamos passar um vetor ou uma matriz C++ para nossas funções. O trecho de código abaixo mostra como isso é feito. Observe que a passagem de uma matriz para uma função é feita por referência, ou seja, qualquer alteração nos valores da matriz dentro do método será refletida na matriz original:

#include <iostream>
 
using namespace std;
 
// função usada para exibir os valores
// da matriz
void exibir_matriz(int matriz[], int quant)
{
  for(int i = 0; i < quant; i++){
    cout << matriz[i] << endl;
  }
}
 
int main(int argc, char *argv[])
{
  // cria uma matriz com 5 inteiros
  int valores[] = {54, 3, 89, 6, 1};
 
  // passa a matriz para a função exibir_matriz()
  // veja que temos que enviar também a quantidade
  // de elementos
  exibir_matriz(valores, 5);
 
  system("PAUSE"); // pausa o programa
  return 0;
}

Ao executar este código C++ nós teremos o seguinte resultado:

54
3
89
6
1

Carregar Publicações Anteriores


Nossas 20 dicas & truques de programação mais populares

Você também poderá gostar das dicas e truques de programação abaixo

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 34 usuários muito felizes estudando em nosso site.