Você está aqui: Java ::: Boletos Bancários, Arquivos de Remessa e Retornos do Banco ::: Caixa Econômica Federal - Banco 104

Boleto Bancário Java - Como calcular o Dígito Verificador do Código do Cedente (Módulo 11) - Boleto Caixa Econômica

Quantidade de visualizações: 2273 vezes
Nesta dica mostrarei, passo-a-passo, como calcular o Dígito Verificador do Código do Cedente para o boleto e arquivos de remessa da Caixa Econômica Federal (Banco 104). No momento que escrevo essa dica, o Código do Cedente é um número composto por seis dígitos, que identifica a empresa no banco. Em geral esse número é fornecido pelo gerente da conta mediante a assinatura de um contrato ou convênio.

Recentemente a Caixa introduziu o código de cedente com 7 dígitos. No entanto, não tive a oportunidade de encontrar um cliente com tal código. Se for o seu caso, verifique com a equipe de suporte da sua agência sobre o procedimento adotado. As informações que obtive são de que o cálculo continua sendo apenas com os seis dígitos, mas não descobri se são as seis primeiras posições ou as últimas. Se algum leitor do site souber mais a respeito, pode me enviar mensagens que atualizo essa dica.

O cálculo que mostrarei é baseado no Módulo 11 e está de acordo com as instruções do Manual de Leiaute de Arquivo Eletrônico Padrão CNAB 240 - Cobrança Bancária Caixa - SIGCB - Versão 67.118 v024 micro e Especificação do Código de Barras para Bloquetos de Cobrança Sem Registro e Registrada no SIGCB (67.119 v005 micro). Tenha certeza de verificar sua versão do manual antes de usar o código abaixo.

O Dígito Verificador do Código do Cedente não é usado nos cálculos da linha digitável nem do código de barras. Ele é usado somente no campo "Agência/Código cedente" do boleto bancário. Porém, é importante saber efetuar o seu cálculo corretamente, pois a homologação dos boletos e arquivos de remessa dependem dessa verificação.

Dito isso, veja o código Java completo para uma função que recebe o código do cedente e retorna o seu dígito verificador:

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

package arquivodecodigos;

public class Estudos{
  public static void main(String[] args){
    // vamos calcular o dígito verificador do código do
    // cedente
    String codigoCedente = "005507";
    int digito = dvCodigoCedente(codigoCedente);
    System.out.println("O dígito verificador para o código do cedente " + 
      codigoCedente + " é: " + digito);
  }

  // função que recebe o código do cedente
  // e retorna o seu dígito verificador
  public static int dvCodigoCedente(String cedente){
    int digito = -1;
    
    // o código do cedente possui mais que 6 dígitos?
    if(cedente.length() > 6){
      System.out.println("O código do cedente não pode ter " +
        " mais que 6 dígitos.");
      System.exit(1);
    }
	
    // primeiro vamos remover os espaços do número do cedente
    cedente = cedente.trim();
    // agora precisamos adicionar os zeros necessários
    // para completar 6 posições
    cedente = String.format("%1$6s", cedente).replace(' ', '0');
    // agora vamos definir os índices de múltiplicação
    String indices = "765432";
    // e aqui a soma da multiplicação coluna por coluna
    int soma = 0;
     
    // fazemos a multiplicação coluna por coluna agora
    // fazemos a multiplicação coluna por coluna agora
    for (int i = 0; i < cedente.length(); i++){
      soma = soma + Integer.parseInt(String.valueOf(cedente.charAt(i))) *
        Integer.parseInt(String.valueOf(indices.charAt(i)));
    }
    
    // Obs.: Quando o Total da Soma for MENOR que o quociente (no
    // caso 11), pular o 3º PASSO, ou seja, o Total da Soma deverá ser
    // diminuído diretamente do quociente, obtendo-se o DV como
    // resultado. 
    if(soma < 11){
      digito = 11 - soma;	
    }
    else{
      // obtemos o resto da divisão da soma por onze
      int resto = soma % 11;
     
      // subtraímos onze pelo resto da divisão
      digito = 11 - resto;  	
    }
     
    // atenção: Se o resultado da subtração for
    // maior que 9 (nove), o dígito será 0 (zero)
    if(digito > 9){
      digito = 0;    
    }
     
    return digito;
  }
}

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

O dígito verificador para o código do cedente 005507 é: 7

Link para compartilhar na Internet ou com seus amigos:

Java ::: Fundamentos da Linguagem ::: Variáveis e Constantes

Curso Completo de Java - Como usar constantes em Java

Quantidade de visualizações: 15424 vezes
O valor de uma variável pode ser alterado durante a execução do programa. Mas, o valor de uma constante não é alterado jamais. Escritas sempre com letras maiúsculas, as constantes trazem algumas vantagens, entre elas o fato de que nomes descritivos para constantes podem tornar o programa mais fácil de ser lido. Além disso, o valor representado pela constante pode ser alterado em apenas um lugar do código fonte.

Veja abaixo como declarar e usar uma constante em Java:

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

// Este exemplo mostra como declarar e usar
// uma constante em Java

public class Estudos{
  final static int IDENT_PROGRAMA = 47; 
  
  public static void main(String args[]){
    System.out.println("O valor da constante " +
      "é " + IDENT_PROGRAMA);
    System.exit(0);
  }
}

Observe que usamos o modificador final para marcar um identificador como constante. Veja agora o que acontece quando tentamos alterar o valor de uma constante em tempo de compilação:

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

// vamos tentar alterar o valor da constante
IDENT_PROGRAMA = 29;

O compilador emitirá a seguinte mensagem de erro:

Estudos.java:9: cannot assign a value to final 
variable IDENT_PROGRAMA
  IDENT_PROGRAMA = 29;
  ^
1 error



Java ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como calcular o cateto adjascente dadas as medidas da hipotenusa e do cateto oposto em Java

Quantidade de visualizações: 1324 vezes
Nesta dica mostrarei como podemos tirar proveito do Teorema de Pitágoras para obter a medida do cateto adjascente quando temos as medidas da hipotenusa e do cateto oposto. Este teorema diz que "o quadrado da hipotenusa é igual à soma dos quadrados dos catetos", o que torna a nossa tarefa, na linguagem Java, muito fácil.

Comece observando a imagem a seguir:



Veja que, nessa imagem, eu já coloquei os comprimentos da hipotenusa, do cateto oposto e do cateto adjascente. Para facilitar a conferência dos cálculos, eu coloquei também os ângulos theta (que alguns livros chamam de alfa) e beta já devidamente calculados. A medida da hipotenusa é, sem arredondamentos, 36.056 metros.

Então, sabendo que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (Teorema de Pitógoras):

\[c^2 = a^2 + b^2\]

Tudo que temos que fazer é mudar a fórmula para:

\[b^2 = c^2 - a^2\]

Veja que agora o quadrado do cateto adjascente é igual ao quadrado da hipotenusa menos o quadrado do cateto oposto. Não se esqueça de que a hipotenusa é o maior lado do triângulo retângulo.

Veja agora como esse cálculo é feito em linguagem Java:

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

package arquivodecodigos;

public class Estudos{
  public static void main(String args[]){
    double c = 36.056; // medida da hipotenusa
    double a = 20; // medida do cateto oposto
  
    // agora vamos calcular a medida da cateto adjascente
    double b = Math.sqrt(Math.pow(c, 2) - Math.pow(a, 2));
 
    // e mostramos o resultado
    System.out.println("A medida do cateto adjascente é: " +
      b);
  }
}

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

A medida do cateto adjascente é: 30.00058559428465

Como podemos ver, o resultado retornado com o código Java confere com os valores da imagem apresentada.


Java ::: Dicas & Truques ::: Imagens e Processamento de Imagens

Como criar um programa de visualização de imagens em Java - Código fonte completo

Quantidade de visualizações: 19387 vezes
O que temos abaixo é o código completo para uma aplicação Java Swing que permite visualizar imagens JPG, GIF ou PNG. A imagem é selecinada usando um JFileChooser e carregada usando o método read() da classe ImageIO. Veja que usamos também uma classe personalizada de JPanel para exibir a imagem:

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

import java.awt.*;
import java.io.*;
import java.awt.image.*;
import java.awt.event.*;
import javax.swing.*;
import javax.imageio.*;

public class Estudos extends JFrame{
  private BufferedImage imagem;
  AreaImagem areaImagem;  

  public Estudos(){
    super("Estudos Java");
    
    Container c = getContentPane();
    c.setLayout(new BorderLayout());
	
    JButton btn = new JButton("Carregar Imagem");
    btn.addActionListener(
      new ActionListener(){
        public void actionPerformed(ActionEvent e){
          JFileChooser fc = new JFileChooser();

          int res = fc.showOpenDialog(null);
          if(res == JFileChooser.APPROVE_OPTION){
	    File arquivo = fc.getSelectedFile();  
          
            imagem = null;
          
            try{
              imagem = ImageIO.read(arquivo);
            }
            catch(IOException exc){
              JOptionPane.showMessageDialog(null, 
                "Erro ao carregar a imagem: " + 
                exc.getMessage());
            }

            if(imagem != null){
              areaImagem.imagem = imagem;
              areaImagem.repaint();  
            }
          }
        }
      }
    );

    c.add(btn, BorderLayout.SOUTH);
    
    // Cria a área de exibição da imagem
    areaImagem = new AreaImagem();
    c.add(areaImagem, BorderLayout.CENTER);    
	
    setSize(400, 300);
    setVisible(true);
  }
  
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

// Sub-classe de JPanel para exibir a imagem
class AreaImagem extends JPanel{
  public BufferedImage imagem;

  public void paintComponent(Graphics g){ 
    super.paintComponent(g);
    
    // desenha a imagem no JPanel
    g.drawImage(imagem, 0, 0, this);
  } 
}



Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais

Água Fria: Reservatórios

Uma edificação possui 10 ocupantes com um consumo médio per capita de 200 litros por dia. Qual a capacidade total mínima do reservatório, segundo a NBR 5.626, sem considerar a reserva de incêndio?

A) 6 m3.

B) 1,6 m3.

C) 2 m3.

D) 8 m3.

E) 500 litros.
Verificar Resposta Estudar Cards Todas as Questões

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

Responsabilidade civil dos prepostos e preponentes

Considera-se ___________ a entrega de papéis, bens ou valores ao ____________, encarregado pelo __________, se os recebeu sem ______________, salvo nos casos em que haja prazo para reclamação. Qual opção abaixo preenche corretamente as lacunas?

A) Perfeita - preponente - preposto - protesto.

B) Inválida - preponente - preposto - protesto.

C) Inválida - preposto - preponente - protocolo.

D) Perfeita - preposto - preponente - protocolo.

E) Perfeita - preposto - preponente - protesto.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Python

Qual das formas abaixo é usada para criar uma LIST em Python?

A) valores = {5, 1, 9, 4}

B) valores = [5, 1, 9, 4]

C) valores = (5, 1, 9, 4)

D) valores = [5.. 1.. 9.. 4]

E) valores = list[5, 1, 9, 4]
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Hidrologia

No que toca à extensão, qual bacia hidrográfica é considerada a maior bacia do mundo?

A) Bacia Amazônica.

B) Bacia Platina.

C) Bacia Chinesa.

D) Bacia do Rio Grande.

E) Bacia do Rio da Prata.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Hidrologia

A transpiração é um processo fundamental na contribuição para o acúmulo de água em estado gasoso na atmosfera. Qual agente é um dos principais atores nesse processo?

A) Rochas.

B) Solos férteis.

C) Chuvas.

D) Seres vivos.

E) Minerais.
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

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



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