Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: Java ::: Pacote java.util ::: ArrayList

Como acessar um determinado item de uma ArrayList em Java usando índices - Como usar o método get() da classe ArrayList do Java - Revisado

Quantidade de visualizações: 20552 vezes
Em várias situações nós precisamos acessar os elementos da ArrayList de forma individual. Para isso podemos usar o seu método get() e fornecer o índice do elemento desejado. Lembre-se de que os índices em Java começam sempre em 0, ou seja, o primeiro elemento da ArrayList está no índice 0, o segundo no índice 1 e assim por diante.

Veja o código 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 
----------------------------------------------------------------------

import java.util.ArrayList;
 
public class Estudos{
  public static void main(String[] args){
    // cria uma ArrayList que conterá strings
    ArrayList<String> nomes = new ArrayList<String>();
     
    // adiciona itens na lista
    nomes.add("Carlos");
    nomes.add("Maria");
    nomes.add("Fernanda");
    nomes.add("Osmar");    
     
    // obtém o terceiro item na lista
    String nome = nomes.get(2);
 
    System.out.println("O valor obtido foi: " + nome); 
 
    System.exit(0);
  }
}

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

O valor obtido foi: Fernanda

Esta dica foi revisada e testada no Java 8.

Link para compartilhar na Internet ou com seus amigos:

Java ::: Dicas & Truques ::: Strings e Caracteres

Como testar se uma string Java está toda em letras maiúsculas ou minúsculas usando as funções Character.isWhitespace() e Character.isUpperCase()

Quantidade de visualizações: 159 vezes
Nesta dica mostrarei como podemos combinar um laço e as funções Character.isWhitespace() e Character.isUpperCase() para testar se uma palavra, frase ou texto está toda em letras maiúsculas em Java.

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

public class Estudos {

  public static void main(String[] args) {
    // Este exemplo mostra como verificar se uma
    // string está toda em letras maiúsculas
    String frase = "PROGRAMANDO EM JAVA";
    boolean maiusculas = true;

    for (int i = 0; i < frase.length(); i++) {
      Character caractere = frase.charAt(i);
      if (Character.isWhitespace(caractere)) {
        continue;
      }
      if (!Character.isUpperCase(caractere)) {
        maiusculas = false;
        break;
      }
    }

    if (maiusculas) {
      System.out.println("A string esta toda em letras maiusculas");
    }
    else{
      System.out.println("A string NAO esta toda em letras maiusculas");
    }
  }
}

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

A string está toda em letras maiúsculas


Java ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas

Como calcular o ponto de interseção de duas retas em Java - Java para Geometria Analítica e Álgebra Linear

Quantidade de visualizações: 1100 vezes
Duas retas podem encontrar-se em 0, 1 ou 2 pontos. No primeiro caso, elas são chamadas paralelas; no segundo, elas são chamadas concorrentes e o ponto de encontro entre elas é chamado ponto de interseção; no terceiro caso, se duas retas possuem dois pontos em comum, então elas obrigatoriamente apresentam todos os pontos em comum e são chamadas coincidentes.

Nesta dica mostrarei como podemos encontrar o ponto de interseção (ou intersecção) de duas retas usando Java. Mas, antes de vermos o código, dê uma olhada na seguinte imagem:



Note que temos os pontos A e B correspondentes ao segmento de reta AB e os pontos C e D correspondentes ao segmento de reta CD. Nossa tarefa é encontrar o ponto exato de intersecção entre esses dois segmentos de reta.

Veja o código Java completo que nos auxilia na resolução deste problema:

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

// Classe usada para representar um ponto no
// plano 2d (Plano Cartesiano)
class Ponto{
  double x, y;
  
  // construtor da classe
  public Ponto(double x, double y){
    this.x = x;
    this.y = y;
  }
}

public class Estudos {
  public static void main(String[] args) {
    // vamos construir os quatro pontos
    Ponto A = new Ponto(5, 7);
    Ponto B = new Ponto(9, -4);
    Ponto C = new Ponto(-8, 2);
    Ponto D = new Ponto(11, 6);
    
    // vamos obter a representação do segmento AB    
    double a1 = B.y - A.y;
    double b1 = A.x - B.x;
    double c1 = (a1 * A.x) + (b1 * A.y);
       
    // vamos obter a representação do segmento CD
    double a2 = D.y - C.y;
    double b2 = C.x - D.x;
    double c2 = (a2 * C.x) + (b2 * C.y);
    
    // obtém o determinante
    double determinante = (a1 * b2) - (a2 * b1);
    
    // as duas retas são paralelas?
    if(determinante == 0){
      System.out.println("\nAs duas retas são paralelas.\n");
    }
    else{
      // e construímos o ponto de intersecção
      double x = ((b2 * c1) - (b1 * c2)) / determinante;
      double y = ((a1 * c2) - (a2 * c1)) / determinante;
      Ponto inters = new Ponto(x, y);
    
      System.out.printf("O ponto de interseção é: x = %.2f; y = %.2f",
        inters.x, inters.y);
    }
    
    System.out.println();
  }
} 

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

O ponto de interseção é: x = 5,76; y = 4,90

De fato, se você olhar a imagem novamente e desenhar este ponto, verá que ele se situa exatamente na intersecção das retas indicadas.


Java ::: Java + MySQL ::: Metadados da Base de Dados (Database Metadata)

Java MySQL - Como obter uma lista das funções numéricas (matemática) suportadas pelo MySQL usando o método getNumericFunctions() da interface DatabaseMetaData

Quantidade de visualizações: 5630 vezes
Em algumas situações gostaríamos de, via código, obter uma lista das funções numéricas, ou seja, funções matemáticas, suportadas pelo MS SQL Server. Para isso podemos usar o método getNumericFunctions() da interface DatabaseMetaData. É importante observar que, no Sun Microsystem's JDBC Driver for MySQL, a interface DatabaseMetaData é implementada por uma classe do mesmo nome, no pacote com.mysql.jdbc.DatabaseMetaData. E esta classe implementa o método getNumericFunctions() de forma a retornar a lista de funções numéricas separadas por vírgulas.

Veja um trecho de código Java no qual listamos todas as funções numéricas suportados no MySQL 5.0:

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

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.SQLException;

public class EstudosBancoDados{
  public static void main(String[] args) {
    // strings de conexão
    String databaseURL = "jdbc:mysql://localhost/estudos";
    String usuario = "root";
    String senha = "osmar1234";
    String driverName = "com.mysql.jdbc.Driver";

    try {
      Class.forName(driverName).newInstance();
      Connection conn = DriverManager.getConnection(databaseURL, usuario, senha);

      // vamos obter um objeto da classe com.mysql.jdbc.DatabaseMetaData
      DatabaseMetaData dbmd = conn.getMetaData();

      // vamos obter a lista de funções numéricas disponíveis
      // nesta versão do MySQL
      String funcoesNumericas = dbmd.getNumericFunctions();

      // como a lista de funções está separada por vírgulas, vamos obter
      // uma matriz de strings
      String funcoes[] = funcoesNumericas.split(",");

      // vamos mostrar o resultado
      for(int i = 0; i < funcoes.length; i++){
        System.out.println(funcoes[i]);
      }
    }
    catch (SQLException ex) {
      System.out.println("SQLException: " + ex.getMessage());
      System.out.println("SQLState: " + ex.getSQLState());
      System.out.println("VendorError: " + ex.getErrorCode());
    }
    catch (Exception e) {
      System.out.println("Problemas ao tentar conectar com o banco de dados: " + e);
    }
  }
}

Ao executarmos este código teremos o seguite resultado:

ABS
ACOS
ASIN
ATAN
ATAN2
BIT_COUNT
CEILING
COS
COT
DEGREES
EXP
FLOOR
LOG
LOG10
MAX
MIN
MOD
PI
POW
POWER
RADIANS
RAND
ROUND
SIN
SQRT
TAN
TRUNCATE


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

Exercícios Resolvidos de Java - Escreva um programa (algorítmo) Java que usa o laço do...while para ler um número indeterminado de idades. A condição de parada do laço é o valor da idade igual a 0

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

Escreva um programa (algorítmo) Java que usa o laço do...while para ler um número indeterminado de idades de algumas pessoas. A condição de parada do laço é o valor da idade igual a 0. Calcule a escreva a idade média deste grupo de pessoas.

Sua saída deverá ser parecida com:

Informe a idade: 19
Informe a idade: 30
Informe a idade: 21
Informe a idade: 45
Informe a idade: 0
A idade média é: 28.75
Resposta/Solução:

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

import java.util.Scanner;

public class Exercicios {
  public static void main(String[] args) {
    // vamos efetuar a leitura usando a classe Scanner
    Scanner entrada = new Scanner(System.in);
      
    int idade; // guarda a idade lida de cada indivíduo
    double idade_media; // a idade média calculada
    int soma = 0; // a soma das idades de cada indivíduo
    int contador = 0; // conta as idades lidas
    
    // laço do...while que repetirá até que o valor da idade seja 0
    do{
      System.out.print("Informe a idade: ");
      idade = Integer.parseInt(entrada.nextLine());
      
      // a idade lida é diferente de 0?
      if(idade != 0){
        soma = soma + idade; // soma mais esta idade
        contador++; // aumenta a quantidade de idades lidas
      }
    }while(idade != 0);
    
    // calcula a idade média
    // note que forcei contador para o tipo double antes da divisão
    // isso faz com que o resultado seja do tipo double
    idade_media = soma / (contador * 1.0);
    
    // finalmente mostramos o resultado
    System.out.println("A idade média é: " + idade_media);
  }
}



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

Exercícios Resolvidos de Java - Um laço for que conta de 0 até 10

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

Escreva uma aplicação console Java que usa o laço for para contar de 0 até 10. Faça dois exemplos. No primeiro você deverá escrever os valores na horizontal e no segundo você deverá escrever os valores na vertical:

Resposta/Solução:

Este exercício é um dos primeiros sobre o uso de laços nos cursos de Java e você pode fazer usando o Bloco de Notas, Netbeans, Eclipse ou sua IDE favorita. Veja o código que usa o laço for para contar de 0 até 10 e exibir os valores na horizontal:

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

public static void main(String[] args){
  // laço for que conta de 0 até 10 e exibe os valores na horizontal
  for(int i = 0; i <= 10; i++){
    System.out.print(i + "  ");
  }
}

Quando você executar este código, os valores deverão ser impressos da seguinte forma:

0  1  2  3  4  5  6  7  8  9  10

Agora, veja como uma pequena modificação faz com que os valores sejam impressos na vertical:

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

public static void main(String[] args){
  // laço for que conta de 0 até 10 e exibe os valores na vertical
  for(int i = 0; i <= 10; i++){
    System.out.println(i + "  ");
  }
}

Agora os valores serão exibidos da seguinte forma:

0  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Física - Eletricidade - Leis de Ohm

Exercícios Resolvidos de Física usando Java - Calcule a resistência elétrica de um resistor que apresenta 10 A

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

Calcule a resistência elétrica de um resistor que apresenta 10 A de intensidade de corrente elétrica e 200 V de diferença de potencial (ddp).

Sua saída deverá ser parecida com:

Informe a corrente: 10
Informe a tensão: 200
A resistência elétrica é: 20.0
Resposta/Solução:

Segundo a Primeira Lei de Ohm, a resistência é calculada pela seguinte expressão:

\[R = \frac{U}{I} \]

Onde:

R = Resistência elétrica (medida em ohms (&#937;)).
U = Tensão elétrica U, (medida em volts (V), ou joules por coulomb).
I = Corrente elétrica I (medida em ampères (A), ou coulombs por segundo).

Como os dados que temos já estão no SI (Sistema Internacional de Medidas), tudo que temos a fazer é jogá-los na fórmula. Veja o código Java que pede para o usuário informar a intensidade da corrente elétrica e a voltagem (ddp) e retorna a resistência elétrica no resistor:

----------------------------------------------------------------------
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);
    
    // vamos pedir para o usuário informar os dados
    System.out.print("Informe a corrente: ");
    double corrente = Double.parseDouble(entrada.nextLine());
    System.out.print("Informe a tensão: ");
    double tensao = Double.parseDouble(entrada.nextLine());
    
    // agora vamos calcular a resistência
    double resistencia = tensao / corrente;
    
    // e mostramos o resultado
    System.out.println("A resistência elétrica é: " + resistencia);
  }
}



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

Exercícios Resolvidos de Java - Um laço for que pede que o usuário informe 10 valores inteiros e mostra a quantidade de valores pares informados

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

Escreva um programa Java console que usa o laço for para solicitar que o usuário digite 10 valores inteiros. Em seguida seu programa deverá contar quantos valores pares foram informados.

Dica: Use um objeto da classe Scanner para obter a entrada do usuário.

Resposta/Solução:

A resolução deste exercício envolve a criação de uma variável contador, do tipo int, e que deverá ser inicializada com o valor 0. Veja:

int contador = 0; // guardará a quantidade de valores pares lidos
Veja a resolução completa para o exercício, comentada linha a 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 
----------------------------------------------------------------------

public static void main(String[] args){
  // para este exercício você deverá importar a classe
  // Scanner. Ela está no pacote java.util.*;
    
  // vamos construir um objeto da classe Scanner para ler a
  // entrada do usuário
  Scanner entrada = new Scanner(System.in);

  int valor; // guarda o valor lido
  int contador = 0; // guardará a quantidade de valores pares lidos

  // vamos pedir ao usuário que informe 10 valores inteiros
  for(int i = 0; i < 10; i++){
    System.out.print("Informe o " + (i + 1) + "º valor: ");
    valor = Integer.parseInt(entrada.nextLine());

    // vamos verificar se o valor lido é par
    if(valor % 2 == 0){
      contador++;
    }
  }

  // vamos exibir a quantidade de números pares lidos
  System.out.println("\nVocê informou " + contador + " valores pares.\n");
}



Java ::: Pacote java.awt ::: Graphics

Como desenhar texto na superfície de uma JLabel do Java Swing usando o método drawString() da classe Graphics

Quantidade de visualizações: 11623 vezes
A classe Graphics possui um método chamado drawString() que é usado para desenhar uma string na superfície de um componente. Veja a assinatura deste método:

public abstract void drawString(String str,
  int x,int y)


Como podemos ver, só precisamos fornecer a string a ser desenhada, a coordenada x e a coordenada y. Estas coordenadas são obtidas a partir do canto superior esquerdo do componente no qual desenharemos.

O trecho de código abaixo mostra como desenhar a string "Arquivo de Códigos" em um JLabel:

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

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

public class Estudos extends JFrame{
  JLabel label;  

  public Estudos() {
    super("Desenhando em um JLabel");
    
    Container c = getContentPane();
    c.setLayout(new BorderLayout());

    // Cria um JLabel
    label = new JLabel();
    c.add(label, BorderLayout.CENTER);

    // Cria um botão
    JButton btn = new 
      JButton("Desenhar uma string");
    btn.addActionListener(
      new ActionListener(){
        public void actionPerformed(ActionEvent e){
          
          // Desenha uma string no JLabel
          Graphics graphics = label.getGraphics();
          graphics.drawString("Arquivo de Códigos", 
            20, 50);     

        }
      }
    );
    
    // Adiciona o botão à janela
    c.add(btn, BorderLayout.SOUTH);

    setSize(350, 250);
    setVisible(true);
  }
  
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

Há algo de interessante neste código. Se você maximizar, minimizar ou redimensionar a janela verá que o desenho é apagado. Isso acontece porque todas as vezes que a janela sofre alguma alteração, ela é pintada novamente, juntamente com seus componentes filhos. Se você deseja que o desenho seja feito automaticamente novamente, é melhor fazer uma sub-classe do componente desejado e sobrescrever seu método paintComponent(). Nesta mesma seção você encontrará exemplos de como fazer isso.


Desafios, Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

Dicas e truques de outras linguagens

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



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