E-Book 650 Dicas e Truques de Python - PDF com 1.200 páginas
Você está aqui: Java ::: Pacote java.lang ::: Character

Como usar o método isDigit() da classe Character da linguagem Java para testar se um caractere é um dígito de 0 a 9

Quantidade de visualizações: 9198 vezes
Em algumas situações, principalmente quando estamos validando dados informados pelo usuário, pode ser necessário verificar se um determinado caractere é um dígito de 0 a 9. Isso pode ser feito por meio do método isDigit() da classe Character. Este método estático recebe um caractere como argumento e retorna true se o caractere for um dígito e false em caso contrário.

Veja um exemplo no qual lemos um caractere informado pelo usuário e informamos se o mesmo é um dígito ou não:

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

import javax.swing.JOptionPane;

public class Main {
  public static void main(String[] args) {
    // vamos pedir ao usuário para informar um caractere qualquer
    char caractere = JOptionPane.showInputDialog("Informe um caractere:").charAt(0);
    
    // vamos testar se o caractere informado é um dígito
    if(Character.isDigit(caractere)){
      JOptionPane.showMessageDialog(null, "O caractere informado é um dígito");
    }
    else{
      JOptionPane.showMessageDialog(null, "O caractere informado não é um dígito"); 
    }
  }
}

Uma outra forma de verificar se um determinado caractere é um dígito é testar se o retorno de uma chamada ao método estático getType() da classe Character é a constante DECIMAL_DIGIT_NUMBER, também definida na classe Character. Veja uma modificação do exemplo anterior:

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

import javax.swing.JOptionPane;

public class Main {
  public static void main(String[] args) {
    // vamos pedir ao usuário para informar um caractere qualquer
    char caractere = JOptionPane.showInputDialog("Informe um caractere:").charAt(0);
    
    // vamos testar se o caractere informado é um dígito
    if(Character.getType(caractere) == Character.DECIMAL_DIGIT_NUMBER){
      JOptionPane.showMessageDialog(null, "O caractere informado é um dígito");
    }
    else{
      JOptionPane.showMessageDialog(null, "O caractere informado não é um dígito"); 
    }
  }
}

Finalmente, veja como ler uma string e verificar se ela contém apenas dígitos de 0 a 9:

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

import javax.swing.JOptionPane;

public class Main {
  public static void main(String[] args) {
    // vamos pedir ao usuário para informar uma string
    String str = JOptionPane.showInputDialog("Informe uma string:");
    
    // vamos verificar se a string contém apenas dígitos de 0 a 9
    boolean soDigitos = true;
    
    // percorre todos os caracteres da string
    for(int i = 0; i < str.length(); i++){
      if(!Character.isDigit(str.charAt(i))){
    	  soDigitos = false;
    	  break;
      }
    }
    
    if(soDigitos){
      JOptionPane.showMessageDialog(null, "A string contém apenas dígitos");
    }
    else{
      JOptionPane.showMessageDialog(null, "A string não contém somente dígitos"); 
    }
  }
}


Link para compartilhar na Internet ou com seus amigos:

Java ::: Dicas & Truques ::: Threads

Java Threads - Como interromper a execução de uma thread em suas aplicações Java

Quantidade de visualizações: 15207 vezes
A classe Thread fornece um método chamado interrupt() que serve para interrompermos a execução de uma determinada thread. Os métodos sleep() e yield() transferem a thread sendo executada no momento do estado "executando" para o estado "pronta". O método interrupt(), por sua vez, faz com que uma thread vá para o estado "finalizada", ou seja, ela não voltará mais a ser executada.

O problema é que, nem sempre, o método interrupt() parece surtir o efeito desejado, ou seja, fazer com que a thread pare de executar imediatamente. Por esta razão, a forma mais fácil de "matar" uma thread é forçar a saída de seu método run(). Veja um exemplo:

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

// criamos uma classe que servirá como thread
class MinhaThread extends Thread{
  private String nome;  

  public MinhaThread(String nome){
    this.nome = nome;
  }   

  public void run(){
    for(int i = 1; i <= 20; i++){
      System.out.println(nome + ": " + i);

      if((i >= 3) && (nome.equals("Thread 1"))){
        try{
          System.out.println(nome + " foi eliminada");
          return; // interrompe a execução do método run()
        }
        catch(SecurityException e){
          System.out.println(e.getMessage());
        }      
      }
    }
  }
}

public class Estudos{
  public static void main(String[] args){
    // vamos criar duas threads
    MinhaThread t1 = new MinhaThread("Thread 1");
    t1.start();    

    MinhaThread t2 = new MinhaThread("Thread 2");
    t2.start();
  }
}

Ao usar a instrução return nós forçamos a saída do método run() e consequentemente, o fim da tarefa sendo realizada pela thread.


Java ::: Classes, Controles e Componentes ::: JSplitPane

Java Swing - Como usar a classe JSplitPane para dividir o espaço ocupado pelos componentes de suas aplicações Java Swing

Quantidade de visualizações: 10217 vezes
A classe JSplitPane é usada quando precisamos controlar o espaço ocupado por dois ou mais componentes. Objetos desta classe podem ser redimensionados, de modo a aumentar ou diminuir a área ocupada por um dos componentes. Veja a posição desta classe na hierarquia de classes Java:

java.lang.Object
  java.awt.Component
    java.awt.Container
      javax.swing.JComponent
        javax.swing.JSplitPane
Esta classe implementa as interfaces ImageObserver, MenuContainer, Serializable e Accessible.

No trecho de código abaixo você verá como é possível dividir a área ocupada por duas áreas de texto (JTextArea). Execute a aplicação e experimente aumentar ou diminuir o espaço ocupado pelos componentes:

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

import javax.swing.*;
import java.awt.*;
 
public class Estudos extends JFrame{
  public Estudos(){
    super("Como usar a classe JSplitPane");
 
    // primeira área de texto
    JTextArea textArea1 = new JTextArea(5, 30);
    textArea1.setText("Sou a área de texto 1.");
    JScrollPane sPane1 = new JScrollPane(textArea1);    
 
    // segunda área de texto
    JTextArea textArea2 = new JTextArea(5, 30);
    textArea2.setText("Sou a área de texto 2.");    
    JScrollPane sPane2 = new JScrollPane(textArea2);
 
    // Cria o JSplitPane
    JSplitPane splitPane = new JSplitPane(
      JSplitPane.HORIZONTAL_SPLIT, sPane1, sPane2);
 
    add(splitPane, BorderLayout.CENTER);
 
    setSize(300, 150);
    setVisible(true);    
  }
 
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

Ao executar esta aplicação Java Swing nós teremos o seguinte resultado:




Java ::: Dicas & Truques ::: Formatação de datas, strings e números

Java para iniciantes - Como formatar moeda usando a classe NumberFormat da linguagem Java

Quantidade de visualizações: 19361 vezes
Este exemplo mostra como formatar moeda usando o método getCurrencyInstance() da classe NumberFormat. Note que, nesse exemplo, nós formatamos um valor double para a moeda brasileira em 2021, a saber, o real.

Veja o código 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 java.text.*;
 
public class Estudos{
  public static void main(String[] args){
    double valor = 1234567.89;
    System.out.println("Sem formatação: " + valor);
    NumberFormat nf = NumberFormat.getCurrencyInstance();
    String valorFormatado = nf.format(valor);
    System.out.println("Formatado: " + valorFormatado);   
  }
}

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

Sem formatação: 1234567.89
Formatado: R$ 1.234.567,89


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Geometria Analítica e Álgebra Linear

Exercício Resolvido de Java - Como calcular o quadrante de uma coordenada cartesiana em Java

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

O Plano Cartesiano, ou Sistema de Coordenadas Cartesianas, é formado por duas retas reais perpendiculares, ou seja, o ângulo entre elas é de 90 graus. Essas retas determinam um único plano, que é denominado como sistema ortogonal de coordenadas cartesianas ou somente plano cartesiano.

No ano de 1637, René Descartes teve a brilhante ideia de relacionar álgebra e geometria, dando início à conhecida geometria analítica, método que possibilita descrever a geometria utilizando uma menor quantidade de diagramas e desenhos. Apesar de os créditos dessa descoberta serem dados a Descartes, Pierre de Fermat já conhecia e utilizava alguns conceitos de geometria analítica, logo o plano cartesiano.

Há quatro quadrantes no Sistema de Coordenadas Cartesianas, conforme a figura a seguir:



Como podemos ver, no primeiro quadrante, tanto o x quanto o y são positivos. No segundo quadrante o x é negativo e o y é positivo. No terceiro quadrante, tanto o x quanto o y são negativos. Por fim, no quarto quadrante, o x é positivo e o y é negativo.

Escreva um programa Java que pede para o usuário informar os valores x e y de uma coordenada cartesiana e informe em qual quadrante essa coordenada se situa. Se os valores de x e y forem zero, informe que o ponto se situa na origem do plano cartesiano.

Sua saída deverá ser parecida com:

Informe o valor x da coordenada: 12
Informe o valor y da coordenada: -7
A coordenada (12,-7) está no Quarto Quadrante (+,-)
Resposta/Solução:

Veja a resolução comentada deste exercício em 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) {
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // variáveis usadas na resolução do problema
    int x, y;
  
    // vamos pedir para o usuário informar as coordenadas
    System.out.print("Informe o valor x da coordenada: ");
    x = Integer.parseInt(entrada.nextLine());
    System.out.print("Informe o valor y da coordenada: ");
    y = Integer.parseInt(entrada.nextLine());
  
    // a coordenada está no primeiro quadrante? 
    if (x > 0 && y > 0){
      System.out.println("A coordenada (" + x + "," + 
        y + ") está no Primeiro Quadrante (+,+)");
    }
    // a coordenada está no segundo quadrante?
    else if (x < 0 && y > 0){
      System.out.println("A coordenada (" + x + "," + 
        y + ") está no Segundo Quadrante (-,+)");
    }
    // a coordenada está no terceiro quadrante?
    else if (x < 0 && y < 0){
      System.out.println("A coordenada (" + x + "," + 
        y + ") está no Terceiro Quadrante (-,-)");
    }
    // a coordenada está no quarto quadrante?
    else if (x > 0 && y < 0){
      System.out.println("A coordenada (" + x + "," + 
        y + ") está no Quarto Quadrante (+,-)");
    }
    // a coordenada está na origem
    else{
      System.out.println("A coordenada (" + x + "," + 
        y + ") está na origem");
    }
  }
}



Java ::: Java Swing - Gerenciadores de Layout ::: GridBagLayout

Como criar uma tela de login usando o gerenciador de layout GridBagLayout do Java Swing

Quantidade de visualizações: 35120 vezes
Temos que aceitar o fato de que o uso de uma IDE visual facilita muito o trabalho de criação de interfaces gráficas (GUI). Contudo, é muito bom poder escrever telas via código mesmo. E o gerenciador de layout GridBagLayout possibilita a criação de layouts realmente avançados.

O trecho de código abaixo mostra como criar uma tela de login usando este gerenciador. Guarde este código. Ele poder ser útil na criação de outros formulários:

----------------------------------------------------------------------
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.border.*;
import java.awt.*;

public class Estudos extends JFrame{
  public Estudos(){
    super("Tela de login usando GridBagLayout");

    // define o layout
    setLayout(new GridBagLayout());
    
    // define uma borda para aumentar o espaço
    // entre as bordas da janela e o gerenciador
    // de layout
    ((JComponent)getContentPane()).setBorder(
       new EmptyBorder(5, 8, 8, 8));

    // cria o GridBagConstraints
    GridBagConstraints gbc = new GridBagConstraints();

    // controla o espaço entre os componentes
    // e as linhas do GridBagLayout.
    // aqui nós definimos 3 pixels para os
    // lados de cima, esquerda, inferior e direita
    gbc.insets = new Insets(3, 3, 3, 3);

    // adiciona componentes à janela
    // esta primeira JLabel ocupará duas células
    // na primeira linha
    gbc.gridy = 0; // linha
    gbc.gridx = 0; // coluna
    gbc.gridwidth = 2; // duas células na linha
    // alinha o label à esquerda
    gbc.anchor = GridBagConstraints.WEST;
    JLabel infoLabel = new JLabel("Dados do Usuário:");
    // vamos aumentar a fonte da JLabel
    infoLabel.setFont(new Font("SansSerif", 
      Font.BOLD, 14));
    // vamos adicionar um espaço extra na parte
    // inferior da JLabel
    infoLabel.setBorder(
      new EmptyBorder(0, 0, 5, 0));
    
    add(infoLabel, gbc);

    gbc.gridy = 1; // linha
    gbc.gridx = 0; // coluna
    gbc.gridwidth = 1;
    // cria a label do usuário
    JLabel usuarioLabel = new JLabel("Usuário:");
    add(usuarioLabel, gbc);

    gbc.gridy = 1; // linha
    gbc.gridx = 1; // coluna
    // cria a JTextField do usuário
    JTextField usuarioTxt = new JTextField(13);
    add(usuarioTxt, gbc);

    gbc.gridy = 2; // linha
    gbc.gridx = 0; // coluna
    // cria a label da senha
    JLabel usuarioSenha = new JLabel("Senha:");
    add(usuarioSenha, gbc);    
    
    gbc.gridy = 2; // linha
    gbc.gridx = 1; // coluna
    // cria a JPasswordField da senha
    JPasswordField senhaTxt = new JPasswordField(13);
    add(senhaTxt, gbc);

    gbc.gridy = 3; // linha
    gbc.gridx = 1; // coluna
    gbc.gridwidth = 2; // duas células na linha
    // alinha os botões à direita
    gbc.anchor = GridBagConstraints.EAST;
    JPanel botoesPanel = new JPanel();
    botoesPanel.add(new JButton("Cancelar"));
    botoesPanel.add(new JButton("OK"));
    add(botoesPanel, gbc);

    pack(); // ajusta o tamanho da janela ao
    // dos componentes
    setVisible(true);    
  }

  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

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




Desafios, Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

Dicas e truques de outras linguagens

Quem Somos

Osmar J. Silva
Programador Freelancer
WhatsApp +55 (062) 98553-6711

Goiânia-GO
Programador Freelancer - Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Civil pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 20 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
José de Angelis
Programador Freelancer
WhatsApp +55 (062) 98243-1195

Goiânia-GO
Programador Freelancer - Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..

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

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


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