Você está aqui: Java ::: Coleções (Collections) ::: Vector

Acessando elementos individuais em um Vector usando elementAt

Quantidade de visualizações: 8171 vezes


O método elementAt permite acessar elementos individuais em um Vector. Esta dica mostra a você como isso é feito. Antes veja a assinatura deste método:
public E elementAt(int index)
Veja que só precisamos fornecer o índice do elemento que desejamos acessar. O retorno será uma referência ao elemento acessado.

O trecho de código abaixo mostra como acessar o segundo elemento em um Vector de Strings:
import java.util.*;

public class Estudos{ 
  public static void main(String args[]){ 
    // Cria o Vector
    Vector<String> nomes = new Vector<String>();

    // adiciona itens ao Vector
    nomes.addElement("Osmar");
    nomes.addElement("Marcos");
    nomes.addElement("Ingrid");

    // acessa o segundo elemento
    String nome = nomes.elementAt(1);
    System.out.println("O valor do elemento " +
      "acessado e: " + nome);  
  } 
}


Link para compartilhar na Internet ou com seus amigos:

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

Exercícios Resolvidos de Java - Como resolver o problema da Subsequência de Soma Máxima em Java usando o Algorítmo de Kadane

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

O problema do Subvetor Contíguo de Soma Máxima, ou Subarray ou Subsequência de Soma Máxima é um dos algorítmos mais populares na programação dinâmica. Este problema envolve encontrar um subvetor, ou seja, um sub-array contíguo de maior soma possível. Por contíguo entendemos que os elementos da subsequência deverão estar consecutivos no vetor original.

O Algorítmo de Kadane, inventado por Jay Kadane em 1977, é um dos favoritos para a resolução deste problema, e deverá ser aplicado na resolução deste exercício.

Dado o vetor [-2, 1, -3, 4, -1, 2, 1, -5, 4], encontre a soma máxima da subsequência contígua. Não é exigido mostrar os elementos da sub-sequência, apenas o valor da soma máxima.

Sua saída deverá ser parecida com:

A soma maxima é: 6
Resposta/Solução:

Veja a resolução comentada deste exercício usando Java:

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

package estudos;

public class Estudos {
  public static void main(String[] args) {
    // vamos criar um array com 9 elementos
    int valores[] = {-2, 1, -3, 4, -1, 2, 1, -5, 4};
    
    // agora usamos o algoritmo de Kadane para encontrar
    // a maior soma consecutiva
    int soma_maxima = kadane(valores);
    System.out.println("A soma maxima é: " + soma_maxima);
  }
  
  // método que recebe um array e usa o algoritmo de Kadane
  // para retornar a maior soma consecutiva
  public static int kadane(int vetor[]){
    // ajustamos max_atual para 0 e max_total para -1 
    int max_atual = 0, max_total = -1;
    
    // um laço for que percorre todos os elementos do
    // vetor, do primeiro até o último
    for(int i = 0; i < vetor.length; i++){
      // max_atual recebe ele mesmo mais o valor
      // do elemento no índice i
      max_atual = max_atual + vetor[i];
      
      // se max_atual for negativo nós o ajustamos
      // para zero novamente
      if(max_atual < 0){
        max_atual = 0;
      }
      
      // se max_atual for maior que max_total então
      // max_total recebe o valor de max_atual
      if(max_atual > max_total){
        max_total = max_atual;
      }
    }
    
    // e retornamos a soma máxima
    return max_total;
  }
}



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade)

Exercícios Resolvidos de Java - Como calcular a potência de um número usando recursividade em Java - Funções recursivas em Java

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

A potenciação ou exponenciação é a operação de elevar um número ou expressão a uma dada potência. Escreva um método Java recursivo que recebe uma base e um expoente e eleva a base ao expoente.

Seu método deverá possuir a seguinte assinatura:

public static int potencia(int base, int expoente){
  // sua implementação aqui
}
Como melhoria na resolução, você pode tratar o caso no qual o expoente é igual a 0 (na resolução abaixo deixei esta possibilidade em aberto).

Sua saída deverá ser parecida com:

Informe a base: 5
Informe o expoente: 3
A base 5 elevada ao exponente 3 é 125
Resposta/Solução:

Veja a resolução comentada deste exercício usando Java console:

----------------------------------------------------------------------
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) {
    // cria um novo objeto da classe Scanner
    Scanner entrada = new Scanner(System.in);
    
    // solicita a base
    System.out.print("Informe a base: ");
    // lê a base
    int base = Integer.parseInt(entrada.nextLine());
    // solicita o expoente
    System.out.print("Informe o expoente: ");
    // lê o expoente
    int expoente = Integer.parseInt(entrada.nextLine());
    
    // mostra o resultado
    System.out.print("A base " + base + " elevada ao exponente " +
      expoente + " é " + potencia(base, expoente));
    System.out.println("\n");
  }
  
  // método recursivo que eleva uma base a um determinado expoente
  public static int potencia(int base, int expoente){
    // a recursivida deve parar quando o expoente for igual a 1
    if(expoente == 1){
      return base;
    }
    else{
      // efetua uma nova chamada recursiva fornecendo o expoente - 1
      return base * potencia(base, expoente - 1);
    }
  }
}



Java ::: Dicas & Truques ::: Programação Orientada a Objetos

Como usar o modificador abstract em suas classes e métodos Java - Programação Orientada a Objetos em Java - Java POO

Quantidade de visualizações: 18164 vezes
O modificador abstract pode ser aplicado a classes e métodos. Seu uso com variáveis pode causar o erro abaixo:

abstract String nome;

Estudos.java:2: modifier abstract not 
allowed here
  abstract String nome;
                  ^
1 error


Classes abstratas não podem ser instanciadas, ou seja, não podemos chamar seu construtor. Veja um exemplo:

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

public class Estudos{
  public static void main(String args[]){
    Cliente cliente = new Cliente(); 
   
    System.exit(0);
  }
}

abstract class Cliente{
  public Cliente(){
   
  }
}

Ao tentarmos compilar esta classe teremos o seguinte erro:

Estudos.java:3: Cliente is abstract; cannot be 
instantiated
 Cliente cliente = new Cliente();
                    ^
1 error


A função principal de classes abstratas é forçar a implementação para as sub-classes. Desta forma, seus métodos são declarados com o modificador abstract e sem corpo. Veja:

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

abstract class Cliente{
  abstract void obterNome();
}

Sempre que suas classes contiverem um ou mais métodos abstratos, você deverá declará-la abstrata. Não seguir esta regra provocará o seguinte erro:

class Cliente{
  abstract void obterNome();
}

Estudos.java:9: Cliente is not abstract and does 
not override abstract method obterNome() in Cliente
class Cliente{
^
1 error


As situações que fazem com que uma classe deva ser declarada abstract são:


  • A classe tem um ou mais métodos abstratos;
  • A classe herda um ou mais métodos abstratos de uma classe abstrata e não fornece implementação para eles;
  • A classe declara que ela implementa um interface mas não fornece implementação para todos os métodos desta interface;


Para finalizar, abstract é o oposto de final. Uma classe final não pode ter sub-classes. Uma classe abstract precisa ter sub-classes.


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: 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á 94 usuários muito felizes estudando em nosso site.