Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Strings e Caracteres

Um programa Java que obtém o caractere correspondente a uma determinada posição de uma string - Desafio de Programação Resolvido em Java

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

Escreva um programa Java que pede para o usuário informar uma palavra ou frase. Em seguida faça a leitura de um número inteiro indicando a posição de um determinado caractere da string lida e exiba o caractere correspondente. Seu código deverá validar a posição de forma a evitar um erro:

Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 10 at java.lang.String.charAt(String.java:658)

Sua saída deverá ser parecida com:

Informe uma palavra ou frase: Gosto muito de Java
Informe uma posição de caractere: 7
Palavra ou frase informada: Gosto muito de Java
O caractere na posição 7 é "u"
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;
 
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 uma palavra ou frase
    System.out.print("Informe uma palavra ou frase: ");
    String frase = entrada.nextLine();
    
    // agora vamos pedir para o usuário informar a posição de um caractere
    // esta posição deve estar no intervalo 0 e tamanho da stirng - 1 
    System.out.print("Informe uma posição de caractere: ");
    int posicao = Integer.parseInt(entrada.nextLine());
    
    // vamos mostrar a string informada
    System.out.println("Palavra ou frase informada: " + frase);
    
    // agora vamos mostrar o caractere na posição informada
    if((posicao >= 0) && (posicao < frase.length())){
      System.out.println("O caractere na posição " + posicao +
        " é \"" + frase.charAt(posicao) + "\"");
    }
    else{
      System.out.println("Você informou uma posição inválida");
    }  
  }
}


Link para compartilhar na Internet ou com seus amigos:

Java ::: Dicas & Truques ::: Data e Hora

Como obter a data completa formatada em português usando vetores e um objeto da classe Calendar do Java

Quantidade de visualizações: 70 vezes
Nesta dica mostrarei como é possível combinar dois vetores de string contendo os nomes do dias e os nomes dos meses e um objeto da classe Calendar da linguagem Java para exibir a data completo em português. Este é um bom exercício para entender o uso de vetores em Java e as partes individuais que compoem uma data retornada pelo método getInstance() da classe Calendar.

Veja o código completo para o exemplo:

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

package arquivodecodigos;

import java.util.Calendar;
 
public class Estudos{
  public static void main(String args[]){
    String dias[] = {"Domingo", "Segunda-feira", "Terça-feira",
      "Quarta-feira", "Quinta-feira", "Sexta-feira", "Sábado"};
    String meses[] ={"Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", 
       "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"};
        
    Calendar agora = Calendar.getInstance(); 
    System.out.println("A date é: " + dias[agora.get(Calendar.DAY_OF_WEEK) - 1] +
      ", " + agora.get(Calendar.DAY_OF_MONTH) + " de " +
      meses[agora.get(Calendar.MONTH)] +
      " de " + agora.get(Calendar.YEAR));    
  }
}

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

A date é: Sábado, 20 de Março de 2020


Java ::: Classes e Componentes ::: JTextArea

Java Swing - Como ler as linhas de texto de um JTextArea uma de cada vez

Quantidade de visualizações: 13232 vezes
Nesta dica veremos como ler as linhas de um controle JTextArea do Java Swing individualmente, ou seja, uma linha de cada vez. Para isso nós vamos usar os método getLineStartOffset() e getLineEndOffset() da classe JTextArea para acessar suas linhas separadamente.

Veja o resultado na imagem abaixo:



E aqui está o código Java Swing completo para a dica:

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

package arquivodecodigos;

import javax.swing.*;
import javax.swing.text.*;
import java.awt.*;
import java.awt.event.*;
 
public class Estudos extends JFrame{
  JTextArea textArea;
  JButton btn;
 
  public Estudos() {
    super("Lendo as linhas de um JTextArea");
    Container c = getContentPane();
    FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
    c.setLayout(layout);
     
    textArea = new JTextArea(10, 20);
    textArea.setLineWrap(true);
     
    btn = new JButton("Ler Linhas");
    btn.addActionListener(
      new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
          int quant = textArea.getLineCount();
             
          for(int i = 0; i < quant; i++){
            try{
              int inicio = textArea.getLineStartOffset(i);
              int fim = textArea.getLineEndOffset(i);
              String linha = textArea.getText(inicio, fim - inicio);
              JOptionPane.showMessageDialog(null, "Linha " + 
                (i + 1) + " = " + linha);
            }
            catch(BadLocationException ble){
              // possiveis erros são tratados 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 ::: Laços

Exercícios Resolvidos de Java - Como converter decimal em binário em Java usando o laço while

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

Escreva um programa Java que usa o laço while para converter um número decimal em sua representação binária. Peça ao usuário para informar um número inteiro e mostre o mesmo em binário (como uma String). Você deve obrigatoriamente usar o laço while.

Sua saída deverá ser parecida com:

Informe um número decimal: 38
A representação binária é 100110
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;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // vamos fazer a leitura usando a classe Scanner
    Scanner entrada = new Scanner(System.in);
      
    // vamos ler o número decimal
    System.out.print("Informe um número decimal: ");
    int decimal = Integer.parseInt(entrada.nextLine());
    int decimal_temp = decimal; // para mostrar o resultado no final
    String binario = ""; // vai guardar o resultado
    int temp; // variável auxiliar

    // laço while repetirá enquanto decimal for maior ou igual a 2
    while(decimal >= 2){
      temp = decimal % 2;
      binario = temp + binario;
      decimal = decimal / 2;
    }
 
    binario = decimal + binario; // insere o dígito 1 restante
    System.out.println("A representação binária é " + binario);
  }
}



Mais Desafios de Programação e 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



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