Você está aqui: Java ::: Classes e Componentes ::: JTable

Definir a cor do texto para as células selecionadas em uma JTable

Quantidade de visualizações: 7413 vezes
// define a cor do texto para a seleção
tabela.setSelectionForeground(Color.BLUE);

- tabela é uma referência a um objeto JTable


Link para compartilhar na Internet ou com seus amigos:

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

Como implementar a ordenação Quicksort em Java - Apostila de Java para iniciantes

Quantidade de visualizações: 315 vezes
A ordenação Quicksort é um dos algorítmos de ordenação mais encontrados em aplicações reais de programação. No Delphi esta ordenação é encontrada no objeto TList. No Java podemos encontrá-lo no método Arrays.sort(). Na linguagem C a ordenação Quicksort é implementada na função qsort() da biblioteca padrão.

O algoritmo de ordenação Quicksort é do tipo dividir para conquistar (divide-and-conquer principle). Neste tipo de algoritmo o problema é dividido em sub-problemas e a solução é concatenada quando as chamadas recursivas atingirem o caso base.

O vetor (ou array) a ser ordenado é dividido em duas sub-listas por um elemento chamado pivô, resultando em uma lista com elementos menores que o pivô e outra lista com os elementos maiores que o pivô. Esse processo é repetido para cada chamada recursiva. Sim, a ordenação Quicksort faz uso extensivo de recursividade, razão pela qual devemos ter muito cuidado para não estourar a pilha do sistema.

Existem muitos estudos sobre o pivô ideal para a ordenação Quicksort. Nessa dica adotarei o último elemento do array ou sub-array como pivô. Em vetores não ordenados essa estratégia, em geral, resulta em uma boa escolha.

Vamos ao código Java então? Veja um programa Java completo demonstrando o uso da ordenação Quicksort para um array de 10 elementos inteiros:

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

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // vamos declarar um array de 10 elementos
    int valores[] = new int[10];
    
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos pedir ao usuário para informar os valores para o vetor
    for(int i = 0; i < valores.length; i++){
      System.out.print("Informe o valor do elemento " + i + ": ");
      valores[i] = Integer.parseInt(entrada.nextLine()); 
    }

    // vamos mostrar o array informado
    System.out.println("\nO array informado foi:\n");
    for(int i = 0; i < valores.length; i++){
      System.out.print(valores[i] + "  ");
    }
    
    // vamos ordenar o vetor usando a ordenação Quicksort
    quickSort(valores, 0, valores.length - 1);
    
    System.out.println("\n\nO array ordenado é:\n");
    for(int i = 0; i < valores.length; i++){
      System.out.print(valores[i] + "  ");
    }
    
    System.out.println("\n\n");
  }

  // função de implementação da ordenação Quicksort
  public static void quickSort(int vetor[], int inicio, int fim) {
    // o início é menor que o fim?
    if (inicio < fim) {
      // vamos obter o novo índice da partição
      int indiceParticao = particionar(vetor, inicio, fim);

      // efetuamos novas chamadas recursivas
      quickSort(vetor, inicio, indiceParticao - 1);
      quickSort(vetor, indiceParticao + 1, fim);
    }
  }
  
  // função que retorna o índice de partição
  private static int particionar(int vetor[], int inicio, int fim) {
    // para guardar o pivô
    int pivot = vetor[fim];
    int i = (inicio - 1);
 
    for (int j = inicio; j < fim; j++) {
      if (vetor[j] <= pivot) {
        i++;

        // fazemos a troca
        int temp = vetor[i];
        vetor[i] = vetor[j];
        vetor[j] = temp;
      }
    }

    // efetua a troca
    int temp = vetor[i + 1];
    vetor[i + 1] = vetor[fim];
    vetor[fim] = temp;

    return i + 1;
  }
}

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

Informe o valor do elemento 0: 7
Informe o valor do elemento 1: 2
Informe o valor do elemento 2: 43
Informe o valor do elemento 3: 1
Informe o valor do elemento 4: 9
Informe o valor do elemento 5: 6
Informe o valor do elemento 6: 22
Informe o valor do elemento 7: 3
Informe o valor do elemento 8: 37
Informe o valor do elemento 9: 5

O array informado foi:

7 2 43 1 9 6 22 3 37 5

O array ordenado é:

1 2 3 5 6 7 9 22 37 43


Java ::: Fundamentos da Linguagem ::: Passos Iniciais

Aprenda a ler entrada do usuário usando a classe Scanner do Java - Como ler a entrada do usuário em Java usando um objeto da classe Scanner

Quantidade de visualizações: 50096 vezes
Podemos ler entrada do usuário em aplicações Java console usando a classe Scanner do JDK 5.0 e recentes. Esta classe está no pacote java.util. Para ler strings use o método nextLine(), para ler inteiros use nextInt() e assim por diante. Não é um boa idéia misturar nextLine() com nextInt(), nextFloat(), etc. Em caso de comportamento estranho, é melhor ler tudo usando nextLine() e fazer conversões usando Integer.parseInt(), por exemplo.

Veja um código completo demonstrando o uso dessa classe:

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

package arquivodecodigos;

import java.util.*;
 
public class Estudos{
  public static void main(String[] args){
    Scanner in = new Scanner(System.in);
     
    System.out.print("Qual é o seu nome? ");
    String nome = in.nextLine();
 
    System.out.print("Qual sua idade? ");
    int idade = in.nextInt();
 
    System.out.println("Olá, " + nome +
       ". Você tem " + idade + " anos.");
  }
}

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

Qual é o seu nome? Osmar J. Silva
Qual sua idade? 39
Olá, Osmar J. Silva. Você tem 39 anos.


Java ::: Estruturas de Dados ::: Lista Ligada Simples

Estruturas de Dados em Java - Como obter a quantidade de nós em uma lista singularmente ligada usando Java

Quantidade de visualizações: 6950 vezes
Em algumas situações precisamos obter a quantidade de nós em uma lista singularmente ligada. Nesta dica eu mostro como isso pode ser feito. Aqui estou assumindo que você criou uma lista singularmente ligada que possui dois nós gerenciadores, ou seja, uma referência para o primeiro nó na lista e uma referência para o último nó.

Veja o código para um método que retorna a quantidade de nós na lista:

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

// método que permite exibir os valores de
// todos os nós da lista
public int tamanho() {
  int tam = 0; // representa a quantidade de nós na lista

  // vamos obter uma referência ao início da lista
  No no = inicio;

  while (no != null) { // enquanto a lista não estiver vazia
    tam++; // incrementamos a variável tam
    no = no.proximo; // pula para o nó seguinte
  }

  return tam;
}

Veja como podemos chamar este nó a partir da classe principal da aplicação (Main.java):

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

public class Main {
  public static void main(String[] args) {
    // vamos criar uma nova lista
    Lista lista = new Lista();

    // insira alguns nós no início ou no final
    // da lista

    // exibe a quantidade de nós na lista
    System.out.println("A lista possui " + lista.tamanho() +
      " nós");
  }
}

Ao executar a aplicação você terá um resultado parecido com:

A lista possui 4 nós.


Vamos testar seus conhecimentos em

Cisalhamento e detalhamento de vigas

Conforme a NBR 6118 (ABNT, 2014), a armadura transversal mínima deve ser colocada nas vigas de modo a garantir a estabilidade das estruturas, mesmo na eventualidade de serem aplicados carregamentos não previstos no cálculo, evitando a ruptura abrupta logo após o surgimento das primeiras fissuras inclinadas.

Nesse contexto, qual a armadura transversal mínima necessária por metro de viga, tendo em vista que ela tem seção de 30 x 80cm e altura útil de 77cm? Adote concreto C35 e aço CA-50.

A) 2,43cm2/m.

B) 2,84cm2/m.

C) 3,12cm2/m.

D) 3,54cm2/m.

E) 3,85cm2/m.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em AutoCAD Civil 3D

Quando criamos um novo COGO Point usando a opção Manual do Point Creation Tool (Create Ground Data -> Points), qual é o primeiro parâmetro de ponto solicitado?

A) Localização do ponto (point location)

B) Número do ponto (point number)

C) Nome do ponto (point name)

D) Descrição do ponto (point description)
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Python

Qual é a forma correta de se retornar o primeiro caractere de uma string em Python?

A) letra = "BRASIL".char(0)

B) letra = "BRASIL"[0]

C) letra = "BRASIL".substring(0, 1)

D) letra = "BRASIL".sub(0, 1)

E) letra = sub("BRASIL", 0, 1)
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais

O projeto de instalação hidrossanitária

Em relação ao histograma, considere as seguintes sentenças:

I - Histograma consiste em um gráfico que apresenta a distribuição de frequências de uma variável por meio de retângulos justapostos, feitos sobre as classes dessa variável, sendo que a área de cada retângulo é proporcional à frequência observada da correspondente classe.

II - Histogramas são obrigatórios em todos os projetos civis, sendo, inclusive, exigidos pelos órgãos para liberação do habite-se;

III - Histogramas são recomendáveis apenas em projetos muito grandes ou de grande complexidade.

Assinale a alternativa correta:

A) Apenas as sentenças I e II estão corretas.

B) Apenas as sentenças II e III estão corretas.

C) Apenas a sentença I está correta.

D) Apenas a sentença III está correta.

E) Todas as sentenças estão corretas.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em JavaScript

Qual é a forma correta de se exibir um diálogo de alerta em JavaScript?

A) msgBox("Texto do aviso");

B) alertBox("Texto do aviso");

C) alert("Texto do aviso");

D) msg("Texto do aviso");
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á 16 usuários muito felizes estudando em nosso site.