Você está aqui: Java ::: Dicas & Truques ::: Arquivos e Diretórios

Uso da interface FileFilter para aplicar um filtro de extensão no conteúdo de um diretório

Quantidade de visualizações: 11667 vezes
// Este exemplo mostra como listar o conteúdo de um diretório
// filtrado por extensão

import java.io.*;

public class Estudos{
    public static void main(String[] args){
        
        File diretorio = new File("C:\\java"); 
        
        FileFilter ff = new FileFilter() { 
            public boolean accept(File b){ 
                return b.getName().endsWith(".java"); 
            } 
        }; 
        
        File[] arquivos = diretorio.listFiles(ff); 
  
        if(arquivos != null){ 
            int length = arquivos.length; 
  
            for(int i = 0; i < length; ++i){ 
               System.out.println(arquivos[i].getName());  
            } 
        }
    }
}


Link para compartilhar na Internet ou com seus amigos:

Java ::: Classes e Componentes ::: JList

Java Swing - Como obter a quantidade de itens em uma JList usando o método getSize() da interface ListModel

Quantidade de visualizações: 9347 vezes
Nesta dica mostrarei como podemos obter a quantidade de itens em uma JList por meio de uma chamada ao método getSize() da interface ListModel, responsável por gerenciar os itens da JList. Note que escrevi o exemplo abaixo sem usar nenhum editor GUI visual. Dessa forma fica mais fácil entender todas as partes que compoem uma aplicação Java Swing.

Veja o código completo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

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);
  
    // Um botão que permite obter a quantidade de itens
    JButton btn = new JButton("Quantidade de Itens");
    btn.addActionListener(
      new ActionListener(){
        public void actionPerformed(ActionEvent e){
          int quant = lista.getModel().getSize();
 
          JOptionPane.showMessageDialog(null, 
            "A lista contém " + quant + " itens");
        }
      }
    );
 
    // 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);
  }
}



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

Exercícios Resolvidos de Java - Como usar o laço for para percorrer os elementos de um array e exibí-los na ordem original e invertidos

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

Considere o seguinte array de inteiros:

// um array de inteiros contendo sete elementos
int valores[] = {6, 9, 12, 34, 83, 20, 17};
Escreva um programa Java console que usa um laço for para percorrer todos os elementos deste vetor duas vezes e exibí-los na ordem original e invertidos (somente na exibição, ou seja, não é necessário alterar a ordem dos elementos no array).

Seu programa deverá exibir a seguinte saída:

Ordem original:
6  9  12  34  83  20  17  

Ordem inversa:
17  20  83  34  12  9  6 
Resposta/Solução:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

public static void main(String[] args){
  // um vetor de inteiros contendo sete elementos
  int valores[] = {6, 9, 12, 34, 83, 20, 17};
    
  // primeiro vamos exibir os valores do vetor na ordem original
  System.out.println("Ordem original:\n");

  for(int i = 0; i < valores.length; i++){
    System.out.print(valores[i] + "  ");
  }

  // agora vamos exibir na ordem inversa
  System.out.println("\n\nOrdem inversa:\n");

  for(int i = valores.length - 1; i >= 0; i--){
    System.out.print(valores[i] + "  ");
  }
}



Java ::: Dicas & Truques ::: Ordenação e Pesquisa (Busca)

Java Insertion Sort - Como ordenar um vetor de inteiros usando a ordenação Insertion Sort (Ordenação por Inserção)

Quantidade de visualizações: 4486 vezes
A ordenação Insertion Sort, Insertion-Sort, ou Ordenação por Inserção, possui uma complexidade de tempo de execução igual à ordenação Bubble Sort (Ordenação da Bolha), ou seja, O(n2). Embora mais rápido que o Bubble Sort, e ser um algorítmo de ordenação quadrática, a ordenação Insertion Sort é bastante eficiente para problemas com pequenas entradas, sendo o mais eficiente entre os algoritmos desta ordem de classificação, porém, nunca recomendada para um grande conjunto de dados.

A forma mais comum para o entendimento da ordenação Insertion Sort é compará-la com a forma pela qual algumas pessoas organizam um baralho num jogo de cartas. Imagine que você está jogando cartas. Você está com as cartas na mão e elas estão ordenadas. Você recebe uma nova carta e deve colocá-la na posição correta da sua mão de cartas, de forma que as cartas obedeçam à ordenação.

A cada nova carta adicionada à sua mão de cartas, a nova carta pode ser menor que algumas das cartas que você já tem na mão ou maior, e assim, você começa a comparar a nova carta com todas as cartas na sua mão até encontrar sua posição correta. Você insere a nova carta na posição correta, e, novamente, a sua mão é composta de cartas totalmente ordenadas. Então, você recebe outra carta e repete o mesmo procedimento. Então outra carta, e outra, e assim por diante, até não receber mais cartas.

Esta é a ideia por trás da ordenação por inserção. Percorra as posições do vetor (array), começando com o índice 1 (um). Cada nova posição é como a nova carta que você recebeu, e você precisa inseri-la no lugar correto no sub-vetor ordenado à esquerda daquela posição.

Vamos ver a implementação na linguagem Java agora? Observe o seguinte código, no qual temos um vetor de inteiros com os elementos {4, 6, 2, 8, 1, 9, 3, 0, 11}:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package arquivodecodigos;
 
public class Estudos{
  // método que permite ordenar o vetor de inteiros
  // usando a ordenação Insertion Sort
  public static void insertionSort(int[] vetor){
    // percorre todos os elementos do vetor começando
    // pelo segundo elemento
    for(int i = 1; i < vetor.length; i++){
      int atual = vetor[i]; // o valor atual a ser inserido
      // começa a comparar com a célula à esquerda de i
      int j = i - 1;
      
      // enquanto vetor[j] estiver fora de ordem em relação
      // a atual
      while((j >= 0) && (vetor[j] > atual)){
        // movemos vetor[j] para a direita e decrementamos j
        vetor[j + 1] = vetor[j];
        j--;
      }
      
      // colocamos atual em seu devido lugar
      vetor[j + 1] = atual;
    }
  }  
    
  public static void main(String args[]){
    // vamos criar um vetor com 9 elementos
    int valores[] = {4, 6, 2, 8, 1, 9, 3, 0, 11};
    
    // exibimos o vetor na ordem original
    System.out.println("Ordem original:\n");
    for(int i = 0; i < valores.length; i++){
      System.out.print(valores[i] + "  ");  
    }
    
    // vamos ordenar o vetor agora
    insertionSort(valores);
    
    // exibimos o vetor ordenado
    System.out.println("\n\nOrdenado:\n");
    for(int i = 0; i < valores.length; i++){
      System.out.print(valores[i] + "  ");  
    }
  }
}

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

Sem ordenação:

4 6 2 8 1 9 3 0 11

Ordenada usando Insertion Sort:

0 1 2 3 4 6 8 9 11


Vamos testar seus conhecimentos em AutoCAD Civil 3D

Sistema de Coordenadas no Civil 3D

Na janela Drawing Settings do AutoCAD Civil 3D, qual aba usamos para definir ou alterar o sistema de coordenadas do desenho?

A) Units and Zone

B) Transformation

C) Ambient Settings

D) Object Layers
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

Ano: 2023 Banca: ACCESS Órgão: Prefeitura de Dores do Indaiá - MG Prova: ACCESS - 2023 - Prefeitura de Dores do Indaiá - MG - Agente Fiscal

Com base no universo da ética, analise as afirmativas a seguir:

I. A ética depende dos valores que a pessoa carrega, e pode, assim, ser adaptável às situações em que vive, dependendo dos seus interesses e carga cultural.

II. O estudo da ética demonstra que a consciência moral nos inclina para o caminho da virtude, que seria uma qualidade própria da natureza humana.

III. Um homem para ser ético precisa necessariamente ser virtuoso, ou seja, praticar o bem usando a liberdade com responsabilidade constantemente.

Assinale

A) se apenas as afirmativas I e II estiverem corretas.

B) se apenas as afirmativas I e III estiverem corretas.

C) se apenas as afirmativas II e III estiverem corretas.

D) se todas as afirmativas estiverem corretas.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em AutoCAD Civil 3D

A paleta Toolspace

Qual aba da paleta Toolspace é usada para exibir os objetos do Civil 3D em uma lista resumida e expansível?

A) Settings

B) Prospector

C) Toolbox

D) Survey
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

Camadas de escoamento

Em escoamento laminar, o perfil de velocidade é parabólico. Em escoamento turbulento, não há uma definição correta, porém o escoamento acontece em quatro camadas. Quais são elas?

A) Subcamada viscosa, camada de atrito de Darcy, camada de transição e camada externa.

B) Subcamada viscosa, subcamada amortecedora, camada laminar e camada externa.

C) Camada viscosa, camada amortecedora, camada de transição e camada limite de filme.

D) Camada viscosa, camada amortecedora, camada de atrito de Darcy e camada limite de filme.

E) Subcamada viscosa, subcamada amortecedora, camada de transição e camada externa.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Hidrologia

(CEBRASPE - 2019 - Analista de Gestão de Resíduos Sólidos SLU DF) Julgue o item, acerca de aspectos relacionados aos componentes do ciclo hidrológico.

A interceptação vegetal de parte da precipitação tende a reduzir a vazão ao longo do ano e a retardar e reduzir o pico de cheias.

A) Verdadeiro
B) Falso
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

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware 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
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

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



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