Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresCódigo-Fonte Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais

Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercícios Resolvidos de Java - Verifique se as componentes de um vetor de 10 componentes inteiros lidos pelo teclado formam uma progressão aritmética

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

Verifique se as componentes de um vetor de 10 componentes inteiros lidos pelo teclado formam uma progressão aritmética, informando se sim ou se não. Caso forme, imprima o termo inicial e a razão.

Resposta/Solução:

Para a entrada do usuário, nós vamos usar um objeto da classe Scanner. Veja a resolução comentada:

package arquivodecodigos;

import java.util.Scanner;

public class Estudos{
  public static void main(String[] args){
    // vamos usar a classe Scanner para leitura
    Scanner entrada = new Scanner(System.in);

    // declara e constrói um vetor de 10 inteiros
    int valores[] = new int[10];
    
    // vamos ler os valores dos elementos do vetor
    for(int i = 0; i < valores.length; i++){
      System.out.print("Informe o valor: ");
      valores[i] = Integer.parseInt(entrada.nextLine());
    }
    
    // já temos o vetor. Agora vamos verificar se temos
    // uma progressão geométrica
    boolean progressao = true;
    // vamos obter a razão
    int razao = valores[1] / (valores[0]);
    
    // vamos varrer os elementos do vetor e verificar se todos
    // possuem a mesma razão
    for(int i = 1; i < valores.length; i++){
      if((valores[i] / (valores[i - 1])) != razao){
        progressao = false;
        break;
      }
    }
    
    if(progressao){
      System.out.println("Formam uma progressão geométrica.");
      System.out.println("A razão é: " + razao);
      System.out.println("O primeiro termo é: " + valores[0]);
    }
    else{
      System.out.println("Não formam uma progressão geométrica.");
    }
  }
}

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

Informe o valor: 1
Informe o valor: 2
Informe o valor: 4
Informe o valor: 8
Informe o valor: 16
Informe o valor: 32
Informe o valor: 64
Informe o valor: 128
Informe o valor: 256
Informe o valor: 512
Formam uma progressão geométrica.
A razão é: 2
O primeiro termo é: 1


C# ::: Coleções (Collections) ::: List<T>

Como pesquisar um elemento em uma lista do C# usando a função Find() e um Predicate

Quantidade de visualizações: 15399 vezes
Em algumas situações gostaríamos de pesquisar e retornar o primeiro elemento de uma List<T> que obedece a algum critério de busca. Assim, poderíamos, por exemplo, pesquisar um nome que começa com uma determinada palavra ou um preço de produto maior ou igual a um determinado valor.

Para tais situações podemos usar o método Find(). Este método possui a seguinte assinatura:

public T Find(
  Predicate<T> match
)

Veja que o método pede um delegate do tipo Predicate<T> que define as condições para a pesquisa do elemento. Se o elemento for encontrado, este é retornado. Caso contrário, o valor padrão para T é retornado (null para referências).

Veja um trecho de código no qual eu mostro como usar o método Find() em combinação com um método personalizado que permite usar um delegate anônimo. Desta forma conseguimos fornecer, em tempo de execução, o argumento para o parâmetro match do Predicate:

static void Main(string[] args){
  // vamos criar um objeto da classe List<T>
  List<string> nomes = new List<string>();

  // vamos inserir quatro valores na lista
  nomes.Add("Osmar J. Silva");
  nomes.Add("Salvador Miranda de Andrade");
  nomes.Add("Dyego Fernandes de Souza");
  nomes.Add("Marcos de Paula Rocha");
  
  // vamos pesquisar um valor na lista usando um método personalizado
  // Neste exemplo vamos retornar o primeiro nome que contenha a palavra
  // "Dyego"
  string nome = encontrar(nomes, "Dyego");

  // vamos verificar se o nome foi encontrado
  if(nome != null){
    // foi encontrado....vamos retornar o resultado
    Console.WriteLine(nome);
  }
  else{
    Console.WriteLine("Nenhum nome encontrado.");
  }

  // vamos pausar a execução
  Console.Write("\n\nPressione qualquer tecla para continuar...");
  Console.ReadKey();
}

// método auxiliar que permite encontrar um valor na lista usando
// o método Find() da classe List<T> e um Predicate
static string encontrar(List<string> lista, string texto){
  string encontrado = null;

  // vamos pesquisar o valor na lista usando seu método Find()
  // Aqui o primeiro nome que passar no critério de busca será retornado
  encontrado = lista.Find(delegate(string valor){
      return valor.Contains(texto);
  });

  return encontrado;
}

O método Find() executa uma busca linear. Assim, este método é uma operação O(n), onde n é a quantidade de elementos na lista.


Java ::: Coleções (Collections) ::: HashSet

Java HashSet - Como usar o método add() para adicionar novos elementos a um HashSet da linguagem Java

Quantidade de visualizações: 5691 vezes
Novos elementos podem ser adicionados a um HashSet por meio do método add(), definido originalmente na interface Collection<E> e sobrescrevendo a versão herdada de AbstractCollection<E>. Este método possui a seguinte assinatura:

public boolean add(E e)
Veja que este método recebe o elemento a ser adicionado e retorna true se o elemento foi inserido com sucesso e false em caso contrário. Note que o elemento será inserido somente se este ainda não estiver contido no conjunto. Veja o seguinte trecho de código:

package estudos;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class Estudos{
  public static void main(String[] args) {
    // vamos criar uma instância da classe HashSet
    Set<Integer> conjunto = new HashSet<>();
    
    // vamos tentar inserir três inteiros neste conjunto
    if(conjunto.add(5)){
      System.out.println("Elemento inserido com sucesso.");  
    }
    else{
      System.out.println("O elemento não foi inserido.");
    }
    
    if(conjunto.add(7)){
      System.out.println("Elemento inserido com sucesso.");  
    }
    else{
      System.out.println("O elemento não foi inserido.");
    }
    
    if(conjunto.add(5)){
      System.out.println("Elemento inserido com sucesso.");  
    }
    else{
      System.out.println("O elemento não foi inserido.");
    }
    
    // vamos exibir os elementos inseridos com sucesso
    Iterator iterator = conjunto.iterator();
    while(iterator.hasNext()){
      System.out.println(iterator.next());
    }
  }
}

Ao executar este código teremos o seguinte resultado:

Elemento inserido com sucesso.
Elemento inserido com sucesso.
O elemento não foi inserido.
5
7
Veja que o segundo valor 5 não foi inserido, uma vez que o mesmo já estava na coleção. Lembre-se de que objetos da classe HashSet aceitam o elemento null.


Java ::: Pacote java.awt.image ::: BufferedImage

Como desenhar um BufferedImage em um JComponent do Java

Quantidade de visualizações: 11173 vezes
Neste exemplo nós usamos o método drawImage() da classe Graphics para desenhar o conteúdo de um BufferedImage (que contém uma imagem JPG) em uma JFrame do Java Swing:

import java.awt.*;
import java.io.*;
import java.awt.image.*;
import java.awt.event.*;
import javax.swing.*;
import javax.imageio.*;

public class Estudos extends JFrame{
  private BufferedImage imagem;
  
  public Estudos(){
    super("Estudos Java");
    
    Container c = getContentPane();
    c.setLayout(new FlowLayout());
	
    JButton btn = new JButton("Carregar Imagem");
    btn.addActionListener(
      new ActionListener(){
        public void actionPerformed(ActionEvent e){
          imagem = null;
          
          try{
            imagem = ImageIO.read(
              new File("imagens/fundo.jpg"));
          }
          catch(IOException exc){
            JOptionPane.showMessageDialog(null, 
              "Erro ao carregar a imagem: " + 
              exc.getMessage());
          }

          if(imagem != null){
            desenhar();   
          }
        }
      }
    );

    c.add(btn);
    	
    setSize(400, 300);
    setVisible(true);
  }

  public void desenhar(){
    // desenha a imagem no JFrame
    Graphics g = getGraphics();   
    g.drawImage(imagem, 0, 0, this);
  }
  
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}



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 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
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

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


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 Apenas R$ 32,90

Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.


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