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 ::: Compactação e Descompactação de Arquivos - Zip, GZIP, etc

Compactando um arquivo para o formato zip

Quantidade de visualizações: 11893 vezes
/*
  Este programa mostra como é possível compactar
  um arquivo no formato zip.
*/

import java.io.*;
import java.util.zip.*;

public class Estudos{
  public static void main(String args[]) {

    // nome do arquivo que será compactado
    String arquivo = "testes.txt";
    
    // Cria um buffer para ler os dados do arquivo
    byte[] buf = new byte[1024];
    
    try{
      // Cria o arquivo zip
      String compac = "testes.zip";
      ZipOutputStream out = new ZipOutputStream(new
        FileOutputStream(compac));
    
      // Comprime o arquivo
      FileInputStream in = new FileInputStream(arquivo);
    
      // Adiciona o arquivo ao fluxo de saída
      out.putNextEntry(new ZipEntry(arquivo));
    
      // transfere dados do arquivo para o arquivo zip
      int len;
      while((len = in.read(buf)) > 0){
        out.write(buf, 0, len);
      }
    
      // Finaliza a entrada
      out.closeEntry();
      in.close();
    
      // Completa o arquivo zip
      out.close();
    }
    catch(IOException e){
      // possíveis erros aqui
    } 
  }
}


Link para compartilhar na Internet ou com seus amigos:

Java ::: Dicas & Truques ::: MIDI Musical Instrument Digital Interface, Mapeamento e sequenciamento MIDI, Entrada e saída MIDI

Java para músicos - Como escrever um MIDI Player em Java (código bem simples e fácil de entender)

Quantidade de visualizações: 13881 vezes
Nesta dica apresento uma aplicação completa para um MIDI Player em Java. Trata-se de uma aplicação console que você pode estudar e implementar a mesma idéia em Java Swing ou JavaFX. Para executar o código abaixo, você só precisa definir o caminho e nome de um arquivo MIDI (extensão .mid).

Veja o código completo e divirta-se:

----------------------------------------------------------------------
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.sound.midi.*;
import java.io.*;
 
public class Estudos{
  public static void main(String args[]) {
    // nome do arquivo MIDI
    String arquivo = "amazing_grace.mid";
    
    if(!arquivo.endsWith(".mid")) {
      System.out.println("Este não parece ser um arquivo MIDI válido.");
      System.exit(1);
    }
    File midiFile = new File(arquivo);
    if(!midiFile.exists() || midiFile.isDirectory() || 
        !midiFile.canRead()) {
      System.out.println("Não foi possível acessar o arquivo indicado.");
      System.exit(1);
    }
     
    try{
      Sequencer seq = MidiSystem.getSequencer();
      seq.setSequence(MidiSystem.getSequence(midiFile));
      seq.open();
      seq.start();
       
      while(true){
        if(seq.isRunning()){
          try{
            Thread.sleep(1000);
          } 
          catch(InterruptedException ignore){
            break;
          }
        } 
        else{
          break;
        }
      }
       
      seq.stop();
      seq.close();
    } 
    catch(MidiUnavailableException mue){
      System.out.println("Dispositivo de MIDI indisponível");
    }
    catch(InvalidMidiDataException imde){
      System.out.println("Dados MIDI Inválidos");
    } 
    catch(IOException ioe){
      System.out.println("Erro de I/O");
    } 
  }  
}



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções

Exercício Resolvido de Java - Escreva uma função Java que recebe três números inteiros e retorna o menor deles

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

Escreva um programa Java que contenha um método ou função que recebe três números inteiros e retorne o menor deles como um inteiro. Seu método não deve produzir nenhuma saída, apenas retornar o menor número entre os três argumentos fornecidos.

Sua saída deverá ser parecida com:

Informe o primeiro número: 8
Informe o segundo número: 10
Informe o terceiro número: 7
O menor número é: 7
Resposta/Solução:

Veja a resolução comentada deste exercício em 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) {
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
  
    // vamos pedir para o usuário informar três
    // números inteiros
    System.out.print("Informe o primeiro número: ");
    int n1 = Integer.parseInt(entrada.nextLine());
    System.out.print("Informe o segundo número: ");
    int n2 = Integer.parseInt(entrada.nextLine());
    System.out.print("Informe o terceiro número: ");
    int n3 = Integer.parseInt(entrada.nextLine());
    
    // agora vamos calcular o menor número
    int menorNumero = menor(n1, n2, n3);
    
    // e mostramos o resultado
    System.out.println("O menor número é: " + menorNumero);
  }
  
  // método que recebe três números e retorna o menor deles
  public static int menor(int a, int b, int c){
    return Math.min(Math.min(a, b), c);
  }
}



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Sistemas Digitais - Manipulação de Bits

Exercícios Resolvidos de Java - Como fazer o complemento de 1 de um número binário em Java - Solução usando manipulação de strings

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

Em Sistemas Digitais e na manipulação de bits, o complemento de 1 de um número binário é realizado de forma direta invertendo-se os "0s" e "1s", ou seja, todo zero (0) vira um (1) e todo um (1) vira zero (0).

Dessa forma, se tivermos o número binário 11001, seu complemento de 1 será 00110.

Escreva um programa Java que pede para o usuário informar um número binário e exiba o seu complemento de um. Para esta solução você deverá usar exclusivamente manipulação de strings.

Sua saída deve ser parecida com:

Informe um número binário: 1011001
O complemento de 1 é: 0100110
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) {
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos solicitar um número binário
    System.out.print("Informe um número binário: ");
    String binario = entrada.nextLine();
    
    // vamos converter a string em um arrays de chars
    char digitos[] = binario.toCharArray();
    
    // agora percorremos todos os dígitos do número binário
    // e trocamos os "0s" por "1s" e vice-versa
    for(int i = 0; i < digitos.length; i++){
      if(digitos[i] == '0'){
        digitos[i] = '1';
      }
      else{
        digitos[i] = '0';
      }
    }
    
    // convertemos de novo para string
    String complemento1 = String.valueOf(digitos);
    
    // e mostramos o resultado
    System.out.println("O complemento de 1 é: " + complemento1);
  }
}



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Matemática e Estatística

Exercício Resolvido de Java - Como simplificar frações em Java

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

Simplificar uma fração consiste em reduzir o numerador e o denominador por meio da divisão pelo máximo divisor comum aos dois números. Uma fração está totalmente simplificada quando verificamos que seus termos estão totalmente reduzidos a números que não possuem termos divisíveis entre si. Uma fração simplificada sofre alteração do numerador e do denominador, mas seu valor matemático não é alterado, pois a fração, quando tem seus termos reduzidos, torna-se uma fração equivalente.

Escreva um programa Java que pede para o usuário informar o numerador e o denominador de uma fração e mostre a fração simplificada. Use uma classe Fracao para a operação de simplificação. Em outras seções do nosso site você encontra o cálculo do MDC para encontrar o Máximo Divisor Comum.

Sua saída deverá ser parecida com:

Informe o numerador: 32
Informe o denominador: 40
A fração gerada foi: 32/40
A fração simplificada é: 4/5
Resposta/Solução:

Veja a resolução comentada deste exercício em 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) {
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos pedir para o usuário informar o numerador
    System.out.print("Informe o numerador: ");
    int numerador = Integer.parseInt(entrada.nextLine());
    
    // vamos pedir para o usuário informar o denominador
    System.out.print("Informe o denominador: ");
    int denominador = Integer.parseInt(entrada.nextLine());
    
    // vamos criar um objeto da classe Fracao
    Fracao f = new Fracao(numerador, denominador);
    
    // vamos mostrar a fração gerada
    System.out.println("A fração gerada foi: " + f.toString());
    
    // agora vamos simplificar esta fração
    System.out.println("A fração simplificada é: " +
      f.simplificar().toString());
  }
}

// classe usada para representar uma Fração
class Fracao{
  int numerador;
  int denominador;

  // construtor da classe 
  public Fracao(int numerador, int denominador) {
    this.numerador = numerador;
    this.denominador = denominador;
  }

  // método que simplifica a fração atual e retorna o
  // resultado como uma fração
  public Fracao simplificar(){
    // cria uma fração temporária
    Fracao temp = new Fracao(this.numerador, this.denominador);
    
    // descobrimos que é maior, o numerador ou o
    // denominador
    int n = temp.numerador, d = temp.denominador, maior;
    
    // o numerador é menor que 0?
    if (temp.numerador < 0) {
      n = -temp.numerador;
    }
    
    // descobrimos o maior
    if (n > d) {
      maior = n;
    } 
    else {
      maior = d;
    }
 
    // encontramos o maior número que divide o numerador e o
    // denominador
    int mdc = 0;
    for (int i = maior; i >= 2; i--) {
      if ((temp.numerador % i == 0) && (temp.denominador % i == 0)) {
        mdc = i;
        break;
      }
    }
 
    // agora dividimos tanto o numerador quanto o denominador
    // pelo mdc encontrado    
    if (mdc != 0) {
      temp.numerador = temp.numerador / mdc;
      temp.denominador = temp.denominador / mdc;
    }
    
    // retorna a fração temporária
    return temp;
  }
  
  // retorna uma representação textual dessa fração
  @Override
  public String toString() {
    return this.numerador + "/" + this.denominador; 
  }
}



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

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.


Java ::: Java para Engenharia ::: Física - Hidrodinâmica

Como representar a Equação da Continuidade em Java - Java para Hidrodinâmica

Quantidade de visualizações: 288 vezes
O que é a Equação da Continuidade?

A Hidrodinâmica é a parte da Física que estuda os fluidos em movimento, enquanto a Equação da Continuidade, que é parte da Hidrodinâmica, determina o fluxo de um fluido através de uma área. Esta equação está muito presente quando o assunto é Dinâmica dos Fluidos ou Mecânica dos Fluidos.

A Equação da Continuidade é uma consequência direta da
Lei da Conservação da Massa. Por meio dessa propriedade, podemos dizer que a quantidade de massa de fluido que atravessa o tubo é a mesma na entrada e na saída.

Para melhor entendimento veja a seguinte figura:



Sabendo que a quantidade de água que entra na mangueira deve ser igual à mesma quantidade que sai, ao colocarmos o dedo na saída da mangueira, nós estamos estreitando a área da vazão, o que, consequentemente, aumenta a velocidade da água.

Qual é a Fórmula da Equação da Continuidade?

Antes de passarmos ao código Java, vamos revisar a Fórmula da Equação da Continuidade. Veja:

\[ A_1 \cdot \text{v}_1 = A_2 \cdot \text{v}_2 \]

Por meio dessa equação nós entramos com três valores e obtemos um quarto valor. Não se esqueça de que as velocidades são dadas em metros por segundo e as áreas são dadas em metros quadrados (de acordo com o SI - Sistema Internacional de Medidas). Tenha a certeza de efetuar as devidas conversões para não obter resultados incorretos.

Vamos escrever código Java agora?

A Equação da Continuidade em código Java

Para exemplificar como podemos representar a Equação da Continuidade em Java, vamos resolver o seguinte problema?

1) Um fluido escoa a 2 m/s em um tubo de área transversal igual a 200 mm2. Qual é a velocidade desse fluido ao sair pelo outro lado do tubo, cuja área é de 100 mm2?

a) 20 m/s

b) 4 m/s

c) 0,25 m/s

d) 1,4 m/s

e) 0,2 m/s

Note que a velocidade já está em metros por segundo, mas as áreas foram dadas em milímetros quadrados. Por essa razão nós deveremos converter milímetros quadrados em metros quadrados.

Veja o código Java completo para a resolução deste exercício de Equação da Continuidade:

----------------------------------------------------------------------
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 os dados de entrada
    System.out.print("Velocidade de entrada (m/s): ");
    double v1 = Double.parseDouble(entrada.nextLine());
    System.out.print("Área de entrada (milímetros quadrados): ");
    double a1 = Double.parseDouble(entrada.nextLine());
    System.out.print("Área de saída (milímetros quadrados): ");
    double a2 = Double.parseDouble(entrada.nextLine());
    
    // vamos converter as áreas em milímetros quadrados
    // para metros quadrados
    a1 = a1 / 1000000;
    a2 = a2 / 1000000;
    
    // agora calculamos a velocidade de saída
    double v2 = (a1 * v1) / a2;
    
    // e mostramos o resultado
    System.out.println("A velocidade de saída é: " + v2 +
      " m/s");
    
    System.out.println("\n");
  }
}

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

Velocidade de entrada (m/s): 2
Área de entrada (milímetros quadrados): 200
Área de saída (milímetros quadrados): 100
A velocidade de saída é: 4.0 m/s

Portanto, a velocidade do fluido na saída do tubo é de 4 m/s.


Java ::: Estruturas de Dados ::: Árvore Binária e Árvore Binária de Busca

Estruturas de dados em Java - Como pesquisar um nó em uma árvore binária de busca usando um método recursivo usando Java

Quantidade de visualizações: 2430 vezes
Nesta dica mostraremos um exemplo completo de como pesquisar um valor em uma árvore binária de busca em Java. Note que o exemplo usa apenas inteiros, mas você não terá dificuldades para modificar a classe Nó para os dados que você precisar.

Código para No.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 arvore_binaria;

public class No {
  private int valor; // valor armazenado no nó
  private No esquerdo; // filho esquerdo
  private No direito; // filho direito
 
  // construtor do nó
  public No(int valor){
    this.valor = valor;
    this.esquerdo = null;
    this.direito = null;
  }

  public int getValor() {
    return valor;
  }

  public void setValor(int valor) {
    this.valor = valor;
  }

  public No getEsquerdo() {
    return esquerdo;
  }

  public void setEsquerdo(No esquerdo) {
    this.esquerdo = esquerdo;
  }

  public No getDireito() {
    return direito;
  }

  public void setDireito(No direito) {
    this.direito = direito;
  }
}

Código para ArvoreBinariaBusca.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 arvore_binaria;

public class ArvoreBinariaBusca {
  private No raiz; // referência para a raiz da árvore
   
  // método usado para inserir um novo nó na árvore
  // retorna true se o nó for inserido com sucesso e false
  // se o elemento
  // não puder ser inserido (no caso de já existir um 
  // elemento igual)
  public boolean inserir(int valor){
    // a árvore ainda está vazia?
    if(raiz == null){
      // vamos criar o primeiro nó e definí-lo como a raiz da árvore
      raiz = new No(valor); // cria um novo nó
    }
    else{
      // localiza o nó pai do novo nó
      No pai = null;
      No noAtual = raiz; // começa a busca pela raiz
  
      // enquanto o nó atual for diferente de null
      while(noAtual != null){
        // o valor sendo inserido é menor que o nó atual?
        if(valor < noAtual.getValor()) {
          pai = noAtual;
          // vamos inserir do lado esquerdo
          noAtual = noAtual.getEsquerdo();
        }
        // o valor sendo inserido é maior que o nó atual
        else if(valor > noAtual.getValor()){
          pai = noAtual;
          // vamos inserir do lado direito
          noAtual = noAtual.getDireito();
        }
        else{
          return false; // um nó com este valor foi encontrado
        }
      }
        
      // cria o novo nó e o adiciona como filho do nó pai
      if(valor < pai.getValor()){
         pai.setEsquerdo(new No(valor));
      }
      else{
        pai.setDireito(new No(valor));
      }
    }
 
    return true; // retorna true para indicar que o novo nó foi inserido
  }
   
  // método que permite pesquisar na árvore binária de busca
  public No pesquisar(int valor){
    return pesquisar(raiz, valor); // chama a versão recursiva do método
  }
 
  // sobrecarga do método pesquisar que recebe dois 
  // parâmetros (esta é a versão recursiva do método)
  private No pesquisar(No noAtual, int valor){
    // o valor pesquisado não foi encontrado....vamos retornar null
    if(noAtual == null){
      return null;
    }
  
    // o valor pesquisado foi encontrado?
    if(valor == noAtual.getValor()){
      return noAtual; // retorna o nó atual
    }  
    // ainda não encontramos...vamos disparar uma nova 
    // chamada para a sub-árvore da esquerda
    else if(valor < noAtual.getValor()){
      return pesquisar(noAtual.getEsquerdo(), valor);
    }
    // ainda não encontramos...vamos disparar uma nova 
    // chamada para a sub-árvore da direita
    else{
      return pesquisar(noAtual.getDireito(), valor);
    }
  }
}

E finalmente o código para a classe principal:

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

import java.util.Scanner;

public class ArvoreBinariaTeste {
  public static void main(String[] args) {
    Scanner entrada = new Scanner(System.in);  
       
    // vamos criar um novo objeto da classe ArvoreBinariaBusca
    ArvoreBinariaBusca arvore = new ArvoreBinariaBusca();
    
    // vamos inserir 5 valores na árvore
    for(int i = 0; i < 5; i++){
      System.out.print("Informe um valor inteiro: ");
      int valor = Integer.parseInt(entrada.nextLine());
       
      // vamos inserir o nó e verificar o sucesso da operação
      if(!arvore.inserir(valor)){
        System.out.println("Não foi possível inserir." +
          " Um elemento já contém este valor.");  
      }
    }
     
    // vamos pesquisar um valor na árvore
    System.out.print("\nInforme o valor a ser pesquisado: ");
    int valorPesquisa = Integer.parseInt(entrada.nextLine());
    // obtém um objeto da classe NoArvore a partir do 
    // método pesquisar() da classe ArvoreBinariaBusca
    No res = arvore.pesquisar(valorPesquisa);
    // o valor foi encontrado?
    if(res != null){
      System.out.println("O valor foi encontrado na árvore");
    }
    else{
      System.out.println("O valor não foi encontrado na árvore");  
    }
     
    System.out.println("\n");
  }
}



Java ::: Fundamentos da Linguagem ::: Tipos de Dados

Como usar o tipo de dados float do Java - Usando o tipo de dados float da linguagem Java

Quantidade de visualizações: 22631 vezes
O tipo de dados float é usado quando precisamos armazenar números de ponto-flutuante (com parte fracionária) na faixa 1.401298464324817e-45f até 3.402823476638528860e+38f. Este tipo ocupa 32 bits na memória (o mesmo que um int) e possui precisão de 6 ou 7 dígitos significativos. 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 
----------------------------------------------------------------------

public class Estudos{
  public static void main(String args[]){
    float valor = 54.5f;
     
    System.out.println("O valor da variável é: " +
      valor);
     
    System.exit(0);
  }
}

Antes de prosseguir, veja que inserí a letra "f" (ou "F") após o valor literal atribuído à variável. Se retirássemos esta letra, o compilador emitiria a seguinte mensagem de erro:

Estudos.java:3: possible loss of precision
found   : double
required: float
  float valor = 54.5;
                ^
1 error


Isso acontece porque, por padrão, um literal de ponto-flutuante é no mínimo do tipo double. E um double não cabe em um float. A definição da letra "f" ou "F" informa ao compilador que estamos realmente definindo um literal float.

O tipo de dados float pode ser convertido (sem a necessidade de cast) para os seguintes tipos:

float -> double

Se precisarmos converter o tipo float para os tipos char, byte, short, int ou long, teremos que lançar mão de uma coerção (cast), também conhecida como conversão forçada. 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 
----------------------------------------------------------------------

float valor = 54.5f;
int valor2 = (int)(valor);

É preciso ficar atento ao fato de que uma coerção de um tipo de ponto-flutuante para um tipo integral (inteiro) resulta na perda da parte fracionária do valor que está sofrendo o cast.


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

O código de ética profissional: Concorrência

A estrutura de mercado denominada "livre concorrência" tem como principal característica a competição empresarial de maneira correta, transparente e honesta. Nesse ambiente, é necessária a regulamentação da economia por parte do Estado, pois isso gera benefícios aos consumidores. Marque a alternativa que apresenta os benefícios decorrentes da regulamentação.

A) A coletividade passa a contar com mais opções de produtos importados, preços e qualidade, além de oferecer às empresas um ambiente econômico saudável.

B) A coletividade passa a contar com mais opções de produtos, preços e menos rigor na qualidade, além de oferecer às empresas um ambiente econômico saudável.

C) A coletividade passa a contar com mais opções de produtos, preços e qualidade, além de oferecer às empresas um ambiente econômico monopolista.

D) A coletividade passa a contar com mais opções de produtos, preços e qualidade, além de oferecer às empresas um ambiente econômico saudável.

E) Os Estados menos desenvolvidos passam a contar com isenção de impostos, mais opções de produtos, preços e qualidade, além de oferecer às empresas um ambiente econômico saudável.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Python

Qual o resultado da execução do seguinte código Python?

valores = [5, 2, 7, 1, 4, 9, 6]
contador = len(valores)
while contador >= 0:
  print(valores[contador], end="  ")
  contador = contador - 2

A) Erro IndexError: list index out of range na linha 4

B) 6 4 7 5

C) Erro SyntaxError: invalid syntax na linha 5

D) 2 1 9

E) 1 4 9 6
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Dimensionamento de lajes e escadas maciças

Considere uma laje retangular, maciça, com vão de 5,0m, concreto fck = 20MPa, aço CA-50 e espessura de 12cm (com altura útil igual a 9,5cm), submetida a um momento de cálculo de 35kN.m.

A armadura que resiste ao esforço solicitado, de forma otimizada, é (desconsiderar a verificação de flechas e fissuras):

A) &#8709;10mm a cada 10cm.

B) &#8709;10mm a cada 12,5cm.

C) &#8709;12,5mm a cada 12,5cm.

D) &#8709;12,5mm a cada 15,0cm.

E) &#8709;12,5mm a cada 10cm.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Hidrologia

Os ecossistemas de água doce podem ser classificados em lênticos e lóticos. É correto afirmar que

A) ecossistemas lênticos são ambientes aquáticos de água corrente como rios e riachos.

B) ecossistemas lóticos são ambientes aquáticos de água parada como lagos e lagoas.

C) em lagos e lagoas, termoclina é a zona de transição entre a camada superficial e a camada profunda, sendo uma camada fina de rápida variação de temperatura.

D) um reservatório pode apresentar compartimentos com características semelhantes a rios, e outro semelhantes ao ambiente de lagos, sendo que quanto maior o tempo de residência do reservatório, maior a tendência do reservatório de se comportar como rio.

E) a solubilidade do oxigênio na água está associada à temperatura e à pressão. Com a diminuição da temperatura e o aumento da pressão, ocorre redução da solubilidade do oxigênio na água.
Verificar Resposta Estudar Cards Todas as Questões

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

Materiais empregados para instalação de água fria e esgoto

A instalação de água fria utilizando cano de PVC rígido da cor marrom exige uma série de cuidados, como, por exemplo, a questão da limpeza e da eliminação de sujeira em seu interior. Caso isso não seja feito, pode obstruir toda a rede quando ela for ligada à rede da rua. Nesse sentido, uma evolução tecnológica que facilita o manuseio de tubos e conexões na hora da montagem é:

A) o emprego de adesivo PVC de secagem rápida.

B) a utilização de anéis de vedação de borracha, o que facilita a execução.

C) a utilização de engate rápido superfície sobre superfície, eliminando anéis de vedação.

D) a utilização de conexão vedada com gaxeta, que pode ser regulada posteriormente.

E) o sistema de encaixe de topo, que dispensa acessórios de união entre canos, realizado por fricção.
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á 37 usuários muito felizes estudando em nosso site.