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 ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Percorrendo os elementos de um array usando o for melhorado da versão 5.0 do Java

Quantidade de visualizações: 10465 vezes
/*
 Este exemplo mostra como acessar todos os
 elementos de um array usando o laço for
 melhorado da versão 5.0.
*/

public class Estudos{
  public static void main(String[] args){
    int[] valores = new int[5];

    // inicializa os elementos do array
    valores[0] = 23;
    valores[1] = 65;
    valores[2] = 2;
    valores[3] = 87;
    valores[4] = 34;
	
    // exibe os valores dos elementos do array
    // usando o laço for melhorado
    for(int valor : valores){
      System.out.println(valor);  
    }
  
    System.exit(0);
  }
}


Link para compartilhar na Internet ou com seus amigos:

Java ::: Reflection (introspecção) e RTI (Runtime Type Information) ::: Passos Iniciais

Como obter os modificadores dos métodos de uma classe ou interface usando o método getModifiers() da classe Method da linguagem Java

Quantidade de visualizações: 8529 vezes
O método getModifiers() da classe Method permite obter os modificadores (public, static, final, private, etc) de um determinado método. O retorno deste método é um valor inteiro que pode ser testado usando alguns métodos estáticos da classe Modifier.

O exemplo a seguir mostra como listar todos os métodos públicos da classe javax.swing.JButton e seus modificadores:

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

import java.lang.reflect.*;
 
public class Estudos{
  public static void main(String args[]){
    // vamos carregar a classe JButton
    try{
      Class c = Class.forName(
        "javax.swing.JButton");
 
      // obtém os nomes dos métodos
      Method[] metodos = c.getMethods(); 
 
      for(int i = 0; i < metodos.length; i++){
        // obtém o nome do método
        String nome = metodos[i].getName();
 
        // obtém os modificadores
        int modificador = 
          metodos[i].getModifiers();
 
        String modificadores = "";
 
        if(Modifier.isPublic(modificador))
          modificadores += "public "; 
        if(Modifier.isPrivate(modificador))
          modificadores += "private ";          
        if(Modifier.isProtected(modificador))
          modificadores += "protected ";
        if(Modifier.isStatic(modificador))
          modificadores += "static ";
        if(Modifier.isFinal(modificador))
          modificadores += "final ";
 
        System.out.println(nome + " - " + 
          modificadores); 
      }
    }
    catch(ClassNotFoundException e){
      System.out.println(e.getMessage()); 
    }
 
    System.exit(0);
  }
}

Ao executar este exemplo nós teremos uma lista gigantesca de métodos declarados e herdados pela classe javax.swing.JButton. Veja:

getAccessibleContext - public
getUIClassID - public
isDefaultButton - public
isDefaultCapable - public
removeNotify - public
setDefaultCapable - public
updateUI - public
getUI - public
setAction - public
setModel - public
setUI - public
addActionListener - public
addChangeListener - public
addItemListener - public
doClick - public
doClick - public
getAction - public
getActionCommand - public
getActionListeners - public
getChangeListeners - public
getDisabledIcon - public
getDisabledSelectedIcon - public
getDisplayedMnemonicIndex - public
getHideActionText - public
getHorizontalAlignment - public
getHorizontalTextPosition - public
getIcon - public
getIconTextGap - public
getItemListeners - public
getLabel - public
getMargin - public
getMnemonic - public
getModel - public
getMultiClickThreshhold - public
getPressedIcon - public
getRolloverIcon - public
getRolloverSelectedIcon - public
getSelectedIcon - public
getSelectedObjects - public
getText - public
getVerticalAlignment - public
getVerticalTextPosition - public
imageUpdate - public
isBorderPainted - public
isContentAreaFilled - public
isFocusPainted - public
isRolloverEnabled - public
isSelected - public
removeActionListener - public
removeChangeListener - public
removeItemListener - public
setActionCommand - public
setBorderPainted - public
setContentAreaFilled - public
setDisabledIcon - public
setDisabledSelectedIcon - public
setDisplayedMnemonicIndex - public
setEnabled - public
setFocusPainted - public
setHideActionText - public
setHorizontalAlignment - public
setHorizontalTextPosition - public
setIcon - public
setIconTextGap - public
setLabel - public
setLayout - public
setMargin - public
setMnemonic - public
setMnemonic - public
setMultiClickThreshhold - public
setPressedIcon - public
setRolloverEnabled - public
setRolloverIcon - public
setRolloverSelectedIcon - public
setSelected - public
setSelectedIcon - public
setText - public
setVerticalAlignment - public
setVerticalTextPosition - public
update - public
contains - public
getLocation - public
print - public
getSize - public
isOpaque - public
disable - public
enable - public
firePropertyChange - public
firePropertyChange - public
firePropertyChange - public
getRootPane - public
getListeners - public
paintImmediately - public
paintImmediately - public
repaint - public
repaint - public
revalidate - public
setAlignmentX - public
setAlignmentY - public
addAncestorListener - public
addNotify - public
addVetoableChangeListener - public
computeVisibleRect - public
createToolTip - public
getActionForKeyStroke - public
getActionMap - public final
getAlignmentX - public
getAlignmentY - public
getAncestorListeners - public
getAutoscrolls - public
getBaseline - public
getBaselineResizeBehavior - public
getBorder - public
getBounds - public
getClientProperty - public final
getComponentPopupMenu - public
getConditionForKeyStroke - public
getDebugGraphicsOptions - public
getDefaultLocale - public static
getFontMetrics - public
getGraphics - public
getHeight - public
getInheritsPopupMenu - public
getInputMap - public final
getInputMap - public final
getInputVerifier - public
getInsets - public
getInsets - public
getMaximumSize - public
getMinimumSize - public
getNextFocusableComponent - public
getPopupLocation - public
getPreferredSize - public
getRegisteredKeyStrokes - public
getToolTipLocation - public
getToolTipText - public
getToolTipText - public
getTopLevelAncestor - public
getTransferHandler - public
getVerifyInputWhenFocusTarget - public
getVetoableChangeListeners - public
getVisibleRect - public
getWidth - public
getX - public
getY - public
grabFocus - public
hide - public
isDoubleBuffered - public
isLightweightComponent - public static
isManagingFocus - public
isOptimizedDrawingEnabled - public
isPaintingForPrint - public final
isPaintingTile - public
isRequestFocusEnabled - public
isValidateRoot - public
paint - public
printAll - public
putClientProperty - public final
registerKeyboardAction - public
registerKeyboardAction - public
removeAncestorListener - public
removeVetoableChangeListener - public
requestDefaultFocus - public
requestFocus - public
requestFocus - public
requestFocusInWindow - public
resetKeyboardActions - public
reshape - public
scrollRectToVisible - public
setActionMap - public final
setAutoscrolls - public
setBackground - public
setBorder - public
setComponentPopupMenu - public
setDebugGraphicsOptions - public
setDefaultLocale - public static
setDoubleBuffered - public
setFocusTraversalKeys - public
setFont - public
setForeground - public
setInheritsPopupMenu - public
setInputMap - public final
setInputVerifier - public
setMaximumSize - public
setMinimumSize - public
setNextFocusableComponent - public
setOpaque - public
setPreferredSize - public
setRequestFocusEnabled - public
setToolTipText - public
setTransferHandler - public
setVerifyInputWhenFocusTarget - public
setVisible - public
unregisterKeyboardAction - public
add - public
add - public
add - public
add - public
add - public
remove - public
remove - public
list - public
list - public
removeAll - public
addPropertyChangeListener - public
addPropertyChangeListener - public
getComponent - public
getComponentCount - public
getComponents - public
getFocusTraversalPolicy - public
invalidate - public
isFocusCycleRoot - public
isFocusCycleRoot - public
setFocusTraversalPolicy - public
addContainerListener - public
applyComponentOrientation - public
areFocusTraversalKeysSet - public
countComponents - public
deliverEvent - public
doLayout - public
findComponentAt - public
findComponentAt - public
getComponentAt - public
getComponentAt - public
getComponentZOrder - public
getContainerListeners - public
getFocusTraversalKeys - public
getLayout - public
getMousePosition - public
insets - public
isAncestorOf - public
isFocusTraversalPolicyProvider - public final
isFocusTraversalPolicySet - public
layout - public
locate - public
minimumSize - public
paintComponents - public
preferredSize - public
printComponents - public
removeContainerListener - public
setComponentZOrder - public
setFocusCycleRoot - public
setFocusTraversalPolicyProvider - public final
transferFocusDownCycle - public
validate - public
add - public
remove - public
toString - public
getName - public
contains - public
size - public
getLocation - public
getParent - public
setName - public
list - public
list - public
list - public
getSize - public
location - public
setSize - public
setSize - public
resize - public
resize - public
enable - public
firePropertyChange - public
firePropertyChange - public
firePropertyChange - public
firePropertyChange - public
firePropertyChange - public
action - public
isEnabled - public
isFocusOwner - public
removePropertyChangeListener - public
removePropertyChangeListener - public
repaint - public
repaint - public
repaint - public
getBackground - public
getBounds - public
getFocusCycleRootAncestor - public
getFont - public
getForeground - public
getPeer - public
getPropertyChangeListeners - public
getPropertyChangeListeners - public
getTreeLock - public final
isDisplayable - public
isMaximumSizeSet - public
isMinimumSizeSet - public
isPreferredSizeSet - public
isShowing - public
isVisible - public
nextFocus - public
setBounds - public
setBounds - public
setLocale - public
setLocation - public
setLocation - public
dispatchEvent - public final
getGraphicsConfiguration - public
getMousePosition - public
handleEvent - public
isFocusable - public
isLightweight - public
isValid - public
postEvent - public
transferFocus - public
transferFocusBackward - public
addComponentListener - public
addFocusListener - public
addHierarchyBoundsListener - public
addHierarchyListener - public
addInputMethodListener - public
addKeyListener - public
addMouseListener - public
addMouseMotionListener - public
addMouseWheelListener - public
bounds - public
checkImage - public
checkImage - public
createImage - public
createImage - public
createVolatileImage - public
createVolatileImage - public
enableInputMethods - public
getColorModel - public
getComponentListeners - public
getComponentOrientation - public
getCursor - public
getDropTarget - public
getFocusListeners - public
getFocusTraversalKeysEnabled - public
getHierarchyBoundsListeners - public
getHierarchyListeners - public
getIgnoreRepaint - public
getInputContext - public
getInputMethodListeners - public
getInputMethodRequests - public
getKeyListeners - public
getLocale - public
getLocationOnScreen - public
getMouseListeners - public
getMouseMotionListeners - public
getMouseWheelListeners - public
getToolkit - public
gotFocus - public
hasFocus - public
inside - public
isBackgroundSet - public
isCursorSet - public
isFocusTraversable - public
isFontSet - public
isForegroundSet - public
keyDown - public
keyUp - public
lostFocus - public
mouseDown - public
mouseDrag - public
mouseEnter - public
mouseExit - public
mouseMove - public
mouseUp - public
move - public
paintAll - public
prepareImage - public
prepareImage - public
removeComponentListener - public
removeFocusListener - public
removeHierarchyBoundsListener - public
removeHierarchyListener - public
removeInputMethodListener - public
removeKeyListener - public
removeMouseListener - public
removeMouseMotionListener - public
removeMouseWheelListener - public
setComponentOrientation - public
setCursor - public
setDropTarget - public
setFocusTraversalKeysEnabled - public
setFocusable - public
setIgnoreRepaint - public
show - public
show - public
transferFocusUpCycle - public
wait - public final
wait - public final
wait - public final
equals - public
hashCode - public
getClass - public final
notify - public final
notifyAll - public final


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico

Exercícios Resolvidos de Java - Um programa que lê um salário e concede um aumento de 20% para os salários inferiores a R$ 800,00

Quantidade de visualizações: 4732 vezes
Exercícios Resolvidos de Java - Um programa que lê um salário e concede um aumento de 20% para os salários inferiores a R$ 800,00

Pergunta/Tarefa:

A empresa XYZ decidiu conceder um aumento de 20% aos funcionários com salários inferiores a R$ 800,00. Faça um programa Java que solicita o salário do funcionário e mostre o valor do salário reajustado ou uma mensagem, caso o funcionário não tenha direito ao aumento.

Sua saída deverá ser parecida com:

Informe o salário: 520
O salário informado foi: 520.0
O salário reajustado é: 530.4 
Resposta/Solução:

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

----------------------------------------------------------------------
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) {
    Scanner entrada = new Scanner(System.in);  
    
    // vamos solicitar o salário do funcionário
    System.out.print("Informe o salário: ");
    double salario = Double.parseDouble(entrada.nextLine());
    System.out.println("O salário informado foi: " + salario);
    
    // vamos conceder o aumento ao salário inferior a 800,00
    if(salario < 800.00){
      double novoSalario = salario + (salario * (2.0 / 100.00));
      System.out.println("O salário reajustado é: " + novoSalario);
    }
    else{
      System.out.println("Não tem direito ao reajuste.");
    }
    
    System.out.println("\n");
  }
}



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

Como comparar strings em Java usando o método equals() da classe String

Quantidade de visualizações: 191 vezes
Em várias ocasiões nós precisamos efetuar a comparação de textos, frases ou palavras em Java. Para isso nós podemos usar o método equals() da classe String. Esta função recebe as duas strings a serem testadas e retorna true se as duas strings forem iguais e false em caso contrário.

Veja um exemplo de seu uso:

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

// Este exemplo mostra como comparar duas strings
// em Java usando o método equals()

package arquivodecodigos;

public class Estudos{
  public static void main(String[] args) {
    // vamos declarar duas strings
    String s1 = "Gosto de Java";
    String s2 = "Gosto de java";
    
    // e agora vamos verificar se as duas são iguais
    if(s1.equals(s2)){
      System.out.println("As duas strings são iguais");
    }
    else{
      System.out.println("As duas strings são diferentes");
    }
      
    System.exit(0);
  }
}

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

As duas strings são diferentes.

É importante ter em mente que o método equals() diferencia maiúsculas de minúsculas.


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

Exercícios Resolvidos de Java - Como inverter a ordem dos elementos de um array usando apenas uma variável temporária

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

Considere o seguinte trecho de código:

// declara, constrói e inicializa um array de 10 inteiros
int valores[] = {6, 3, 90, 1, 54, 7, 12, 32, 9, 4};
int temp;
Escreva um programa Java GUI ou console que inverta a ordem dos elementos do vetor valores usando apenas a variável temp, ou seja, não é permitido usar nenhum método disponível em classes Java. Sua saída deverá ser algo como:

Ordem inicial:

6   3   90   1   54   7   12   32   9   4   

Ordem invertida:

4   9   32   12   7   54   1   90   3   6
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 estudos;

public class Estudos {
  public static void main(String[] args) {
    // declara, constrói e inicializa um array de 10 inteiros
    int valores[] = {6, 3, 90, 1, 54, 7, 12, 32, 9, 4};
    int temp;
    
    // vamos mostar a ordem inicial dos elementos no vetor
    System.out.print("Ordem inicial: ");
    for(int i = 0; i < valores.length; i++){
      System.out.print(valores[i] + "   ");  
    }
    
    // vamos inverter a ordem dos elementos no array
    int inicio = 0, fim = valores.length - 1;  
    while(inicio < fim){
      temp = valores[inicio];
      valores[inicio] = valores[fim];
      valores[fim] = temp;
      // incrementa e decrementa as variáveis de controle
      inicio++; 
      fim--;
    }
    
    // vamos mostar a ordem invertida dos elementos do vetor
    System.out.print("\nOrdem invertida: ");
    for(int i = 0; i < valores.length; i++){
      System.out.print(valores[i] + "   ");  
    }
    
    System.out.println();
  }
}



Java ::: Classes e Componentes ::: JTextArea

Java Swing - Como salvar o conteúdo de um JTextArea em um arquivo (usando um JFileChooser para localizar o diretório e arquivo)

Quantidade de visualizações: 15719 vezes
Nesta dica mostrarei como é possível como salvar o conteúdo de um JTextArea em um arquivo texto. Essa operação é muito frequente em aplicações Java Swing. Note que faremos uso de um JFileChooser para localizar o arquivo no qual o conteúdo será gravado, ou poderemos informar o nome do arquivo.

Observe também o uso do método write() da classe FileWriter para escrever o conteúdo no arquivo. Para finalizar, perceba que não fiz os devidos tratamentos de erros e as mensagens de sucesso das operações e coisas. Fica como exercício para você finalizar.

Veja o código completo:

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

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
 
public class Estudos extends JFrame{
  JTextArea textArea;
  JButton btn;
 
  public Estudos() {
    super("Salvando o conteúdo de um JTextArea em um arquivo");
    Container c = getContentPane();
    FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
    c.setLayout(layout);
     
    textArea = new JTextArea(10, 20);
    textArea.setLineWrap(true);
     
    btn = new JButton("Salvar Arquivo");
    btn.addActionListener(
      new ActionListener(){
        public void actionPerformed(ActionEvent e){
          JFileChooser fc = new JFileChooser();
       
          if(fc.showSaveDialog(Estudos.this) != JFileChooser.APPROVE_OPTION){
            return;
          }
             
          File arquivo = fc.getSelectedFile();
          if(arquivo == null){
            return;
          }
 
          FileWriter writer = null;
          try {
            writer = new FileWriter(arquivo);
            writer.write(textArea.getText());
          } 
          catch(IOException ex){
            // Possiveis erros aqui
          } 
          finally {
            if(writer != null){
              try{
                writer.close();
              } 
              catch (IOException x){
                // trate os erros aqui   
              }
            }
          }
        }
      }
    );
        
    c.add(textArea);
    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 ::: Estruturas de Controle

Exercícios Resolvidos de Java - Como criar um conversor de moedas em Java - Um programa Java para converter de Real para Dólar e de Dólar para Real

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

Escreva um programa Java para converter de Real para Dólar e vice-versa. Seu programa deverá ler o valor a ser convertido e a opção de conversão, ou seja, se o usuário quer converter de Real para Dólar ou se quer converter de Dólar para Real. Em seguida mostre o valor convertido.

Você pode pedir também a cotação do Dólar ou já deixar definido no código. Na resolução eu fixei a cotação no código mesmo, tomando como base a cotação do Dólar na data 20/02/2023.

Sua saída deverá ser parecida com:

Valor a ser convertido: 7

1. Converter de Real para Dólar
2. Converter de Dólar para Real
Sua opção: 1

O valor convertido para Dólar é: $ 1,28

Valor a ser convertido: 1

1. Converter de Real para Dólar
2. Converter de Dólar para Real
Sua opção: 2

O valor convertido para Real é: R$ 5,46
Resposta/Solução:

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

----------------------------------------------------------------------
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 registrar aqui a cotaçao do dólar
    double cotacao_dolar = 5.4613; // 20/02/2023
    // valor informado e valor convertido
    double valor, valor_convertido;
    // para ler a opção do usuário
    int opcao;
    
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos pedir para o usuário informar o valor a ser convertido
    System.out.print("Valor a ser convertido: ");
    valor = Double.parseDouble(entrada.nextLine());
    
    // vamos mostrar as opções de conversão
    System.out.println("\n1. Converter de Real para Dólar");
    System.out.println("2. Converter de Dólar para Real");
    System.out.print("Sua opção: ");
    opcao = Integer.parseInt(entrada.nextLine());

    // vamos fazer a conversão entre as moedas 
    switch(opcao){
      case 1: // efetua a conversão de Real para Dólar
        valor_convertido = valor / cotacao_dolar;
        System.out.printf("\nO valor convertido para Dólar é: $ %.2f\n\n",
          valor_convertido);
        break;
      
      case 2: // efetua a conversão de Dólar para Real
        valor_convertido = valor * cotacao_dolar;
        System.out.printf("\nO valor convertido para Real é: R$ %.2f\n\n",
          valor_convertido);
        break;
        
      default:
        System.out.println("\nVocê informou uma opção inválida.\n\n");
    }
  }
}



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

Exercícios Resolvidos de Java - Como testar se um valor está contido em um array em Java

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

Escreva um programa Java GUI ou console que declara, constrói e inicializa um vetor (array unidimensional) de 5 inteiros. Em seguida peça ao usuário para informar um valor inteiro e informe se o valor lido está contido no vetor. A declaração, construção e inicialização do vetor pode ser feita da seguinte forma:

// declara, constrói e inicializa um vetor de 5 inteiros
int valores[] = {4, 21, 8, 120, 1};
Dica: Na resolução abaixo eu usei um objeto JOptionPane para ler o valor a ser pesquisado. Se preferir, use um objeto da classe Scanner para leitura.

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

import javax.swing.JOptionPane;

public class Estudos {
  public static void main(String[] args) {
    // declara, constrói e inicializa um vetor de 5 inteiros
    int valores[] = {4, 21, 8, 120, 1};
        
    // vamos ler um valor inteiro
    int pesquisa = Integer.parseInt(JOptionPane.showInputDialog("Valor:"));
        
    // vamos verificar se o valor informado está contido no vetor
    boolean encontrado = false;
    for(int i = 0; i < valores.length; i++){
      if(valores[i] == pesquisa){
        encontrado = true;
        break;
      }
    }
        
    if(encontrado){
       JOptionPane.showMessageDialog(null, "O valor está no vetor");
    }
    else{
       JOptionPane.showMessageDialog(null, "O valor não está no vetor");
    }
  }
}



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

Programação orientada a objetos em Java - Como criar e usar interfaces em seus programas Java

Quantidade de visualizações: 11704 vezes
Muitos estudantes de Java torcem o nariz quando nós, professores e instrutores, tocamos no assunto de interfaces. Definitivamente este não é um tópico fácil de entender ao primeiro contato. Comecemos com uma analogia simples. É sabido que é cada vez maior o número de softwares sendo desenvolvidos em equipes, ou seja, o projeto do software é desmembrado e suas funcionalidades são implementadas por grupos diferentes de programadores.

Quando estamos desenvolvendo software em grupos de programadores, é comum desenvolvermos partes que dependem do trabalho de um outro grupo. E, nem sempre podemos esperar que uma parte da qual dependemos fique pronta para só então progredirmos.

Para isso, um contrato entre os grupos de programadores é firmado. E este contrato é o que chamamos de interface. Suponhamos que em um determinado momento meu grupo está desenvolvendo código que depende da parte de impressão, sendo desenvolvida por outro grupo. Todos se reúnem e decidimos quais funcionalidades a classe de impressão terá e quais métodos públicos serão disponibilizados. Feito isso, uma interface contendo a assinatura destes métodos é disponibilizada para todos e o desenvolvimento continua. Mais tarde, quando a classe de impressão estiver sendo desenvolvida, ela poderá implementar a interface anteriormente disponibilizada e tudo está resolvido.

Sendo assim, uma interface na linguagem de programação Java é um tipo referência, similar a uma classe. A diferença é que uma interface pode conter apenas constantes e assinaturas e métodos. Não há a implementação dos corpos dos métodos. Além disso, interfaces não podem ser instanciadas usando new. Veja o que acontece quando tentamos fazer isso (lembre-se de que List é interface):

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

public class Estudos{ 
  public static void main(String args[]){ 
    // cria um objeto da interface List
    List lista = new List();
  } 
}

Ao tentarmos compilar este código teremos a seguinte mensagem de erro:

Estudos.java:6: java.util.List is abstract; 
cannot be instantiated
    List lista = new List();
                 ^
1 error


Interfaces devem ser implementadas por classes ou extendidas por outras interfaces. Agora, um detalhe interessante. Se você verificar a API do Java, verá que a interface List é implementada pelas classes AbstractList, ArrayList, LinkedList e Vector. Desta forma, o código anterior pode ser modificado para:

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

public class Estudos{ 
  public static void main(String args[]){ 
    // cria um objeto da interface List
    List lista = new ArrayList();
  } 
}

Este código compila normalmente e fortalece nossa discussão a respeito da interface de impressão. O sistema inteiro pode fazer referências a uma interface e, para que ele funcione da forma esperada, só precisamos fornecer a classe que implementa a interface no momento de instanciar os objetos. Isso demonstra que o nome de uma interface pode ser usado em qualquer lugar no qual um tipo da classe que a implementa seja necessário.

Vamos ver agora como criar uma interface chamada Pessoa. Veja:

----------------------------------------------------------------------
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 interface Pessoa{
  public void setNome(String nome); 
  public String getNome();
}


Salve esta interface como Pessoa.java e a compile. Pronto! Esta interface já pode ser usada no sistema, contanto que todos do grupo tenham concordado com as assinaturas dos métodos. Agora observe uma classe Cliente que implementa esta interface:

----------------------------------------------------------------------
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 class Cliente implements Pessoa{ 
  private String nome;
  private int idade;

  public void setNome(String nome){
    this.nome = nome;
  } 

  public String getNome(){
    return this.nome;
  }
}

Salve este código como Cliente.java e o compile. O primeiro detalhe a observar é o uso da palavra-chave implements para mostrar que a classe implementa a interface Pessoa. Note também que a classe fornece implementação para todos os métodos da interface. Não seguir esta regra geraria o seguinte erro de compilação:

Cliente.java:1: Cliente is not abstract and 
does not override abstract method getNome() in 
Pessoa
public class Cliente implements Pessoa{
       ^
1 error


Em resumo, uma interface define um protocolo de comunicação entre dois objetos e pode conter, além das assinaturas dos métodos, constantes. Neste caso todas estas constantes serão implicitamente public, static e final. Mesmo que estes modificadores sejam omitidos.


Vamos testar seus conhecimentos em Fundações

Fundações profundas

Fundações profundas podem ser classificadas de diferentes maneiras. Uma forma de distinguir os diferentes tipos de estaca é pelo material empregado em sua composição.

Com base no exposto, assinale com V (verdadeiro) ou F (falso) as proposições a seguir, sobre estacas de madeira.

( ) A madeira em contato com o oxigênio do ar tende a apresentar fungos que inibem a deterioração do material.

( ) As estacas de madeira apodrecem rapidamente se mantidas permanentemente debaixo d'água.

( ) No Brasil, estacas de madeira são amplamente utilizadas de forma permanente em obras comerciais e residenciais.

Assinale a alternativa que indica, de cima para baixo, a ordem correta.

A) V, F, F.

B) V, V, V.

C) F, F, F.

D) F, F, V.

E) V, V, F.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em JavaScript

Qual das instruções JavaScript abaixo envolve um array?

A) var a = b ^ i;

B) var a = b(i);

C) var a = b[i];

D) var a = b >> i;
Verificar Resposta Estudar Cards Todas as Questões

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

Introdução à Ética

Como e por que julgamos que uma ação é correta ou não? Quais os critérios que devem ser utilizados para tal? Várias respostas são, hoje, dadas a essas perguntas.

Podemos afirmar que a ação correta é aquela que:

A) Considera a felicidade dos grupos prevalecentes, como as elites.

B) É praticada por um agente inerentemente bom e sem influência social

C) Está de acordo com regras próprias de grupos minoritários com interesses duvidosos.

D) É considerada a melhor ação pela subjetividade do sujeito em suas reflexões.

E) É aquela que está adequada às leis, regras e normas legais do Estado.
Verificar Resposta Estudar Cards Todas as Questões

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

Perfil de velocidade turbulento

A Lei da Parede para a determinação do perfil de velocidade empírico-turbulento envolve a determinação da velocidade de atrito na subcamada viscosa. Além do método da Lei da Parede, quais outros métodos existem para estimar o perfil de velocidade turbulento?

A) Fator de atrito de Darcy, Lei da Potência e Lei Logarítmica.

B) Princípio de Arquimedes, Lei da Potência e Lei do Defeito da Velocidade.

C) Lei Logarítmica, Lei do Defeito da Velocidade e Lei da Potência.

D) Lei da Potência, Lei de Hooke e Lei do Defeito da Velocidade.

E) Fator de atrito de Darcy, Lei Logarítmica e Princípio de Arquimedes.
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

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