Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Geometria, Trigonometria e Figuras Geométricas

Como calcular o volume e a área de superfície de uma esfera em Java dado o raio - Lista de Exercícios Resolvidos de Java

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

Este desafio de programação mostra como calcular o volume de uma esfera em Java a partir do raio informado pelo usuário. É abordada também a fórmula para o cálculo da área de superfície.

Escreva um programa Java que pede o raio de uma esfera e calcula e mostra o seu volume e sua área de superfície. O raio deve ser lido como um double e os resultados deverão ser exibidos com quatro casas decimais.

Caso necessite relembrar o que é o raio da esfera, dê uma olhada na imagem abaixo:



Para facilitar na tarefa, a fórmula para o volume da esfera quando temos o raio é:

\[ \text{V} = \frac{\text{4} \cdot \pi \cdot r^3}{3} \]

Já a fórmula para o cálculo da área da esfera é:

\[ \text{A} = \text{4} \cdot \pi \cdot r^2 \]

Sua saída deve ser parecida com:

Informe o raio da esfera: 3.5
O volume da esfera é: 179,5944
A área da esfera é: 153,9380
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.text.DecimalFormat;
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);
    
    // para formatar com quatro casas decimais
    DecimalFormat formato = new DecimalFormat("0.0000");
    
    // vamos pedir para o usuário informar o raio da esfera
    System.out.print("Informe o raio da esfera: ");
    double raio = Double.parseDouble(entrada.nextLine());
    
    // vamos calcular o volume da esfera
    double volume = (4 * Math.PI * Math.pow(raio, 3)) / 3.0;
    
    // agora vamos calcular a área da esfera
    double area = 4 * Math.PI * Math.pow(raio, 2);
    
    // e mostramos os resultados
    System.out.println("O volume da esfera é: " + 
      formato.format(volume));
    System.out.println("A área da esfera é: " + 
      formato.format(area));
  }
}


Link para compartilhar na Internet ou com seus amigos:

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

Como usar o modificador de acesso private em Java - Apostila Java para iniciantes - Programação Orientada a Objetos em Java

Quantidade de visualizações: 10261 vezes
Um método ou variável declarada com o modificador de acesso private (privado) pode ser acessado somente por uma instância da classe que declara o método ou variável. Veja um exemplo:

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

// Classe Cliente
class Cliente{
  private String nome = "Osmar";
}

// Classe de teste
public class Estudos{
  public static void main(String args[]){
    Cliente cliente = new Cliente();
    System.out.println(cliente.nome);

    System.exit(0);
  }
}

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

Estudos.java:10: nome has private access in Cliente
  System.out.println(cliente.nome);


O erro já era esperado, pois sabemos que a classe Estudos não tem acesso aos membros privados da classe Cliente. Experimente alterar o modificador private por public e veja o resultado:

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

public String nome = "Osmar";

É importante observar que, se duas instâncias de uma classe forem criadas, uma terá acesso aos dados privados da outra, ou seja, o modificador private define quais classes (não instâncias) podem acessar determinado recurso.

Além disso, saiba que classes de nível superior (Top-level) não podem ser declaradas como private. Elas podem ser no máximo de acesso de pacote (nenhum modificador). A mesma regra se aplica a interfaces. No entanto, classes e interfaces internas podem ser declaradas com o modificador private.

Para finalizar, lembre-se de que sub-classes não possuem acesso à membros privados da superclasse.


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

Exercício Resolvido de Java - Um programa Java console ou GUI que receberá a duração de um evento expresso em segundos e exiba-o expresso em horas, minutos e segundos

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

Escreva um programa Java console ou GUI que receberá a duração de um evento expresso em segundos e exiba-o expresso em horas, minutos e segundos. Seu programa deverá exibir uma saída parecida com:

Informe a duração do evento em segundos: 3712
Duração do evento: 01:01:52


Resposta/Solução:

Veja a resolução comentada deste exercício usando Java console (lendo a entrada do usuário por meio do uso da classe Scanner):

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

public static void main(String[] args){
  // não se esqueça de adicionar um import para a classe Scanner
  // import java.util.Scanner;

  // vamos criar um objeto da classe Scanner
  Scanner entrada = new Scanner(System.in);

  // variáveis que vão guardar a duração em horas, minutos e segundos;
  int horas, minutos, segundos;
  int duracao_segundos; // guardará a duração em segundos

  // vamos solicitar a duração do evento em segundos
  System.out.print("Informe a duração do evento em segundos: ");

  // vamos ler os segundos informados
  duracao_segundos = Integer.parseInt(entrada.nextLine());

  // vamos obter a quantidade de horas do evento
  horas = duracao_segundos / 3600;
  // vamos obter os minutos
  minutos = (duracao_segundos / 60) % 60;
  // vamos obter os segundos restantes
  segundos = duracao_segundos % 60;

  // vamos exibir a duração do evento em horas, minutos e segundos
  System.out.printf("Duração do evento: %02d:%02d:%02d\n\n", horas, minutos, segundos);
}



Java ::: Pacote java.lang ::: Integer

Java para iniciantes - Como usar o método parseInt() da classe Integer para converter uma String em um valor do tipo int

Quantidade de visualizações: 95517 vezes
Em algumas situações, principalmente quando estamos lidando com valores informados pelo usuário, nós precisamos converter uma String em um valor inteiro. Para isso podemos usar o método parseInt() da classe Integer. Veja sua assinatura:

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

public static int parseInt(String s)
  throws NumberFormatException

A String fornecida como argumento deve conter apenas digitos decimais, exceto que o primeiro caractere pode ser o caractere ASCII sinal de menos "-" ('\u002D') para indicar um valor negativo ou o caractere ASCII sinal de mais "+" ('\u002B') para indicar um valor positivo.

Veja um exemplo no qual usamos o método parseInt() para converter uma String informada pelo usuário em um valor do tipo int:

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

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // vamos usar um objeto da classe Scanner para ler a idade do usuário
    Scanner entrada = new Scanner(System.in);
    
    // solicita a idade
    System.out.print("Informe sua idade: ");
    int idade = Integer.parseInt(entrada.nextLine());
    
    // mostra o valor lido
    System.out.println("A idade informada foi: " + idade);    
  }
}

Ao executarmos este código teremos o seguinte resultado:

Informe sua idade: 28
A idade informada foi: 28

Há, porém, situações nas quais o usuário pode não seguir as recomendações de não inserir caracteres inválidos, o que inviabiliza a conversão para inteiro. Veja:

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

Informe sua idade: osmar
Exception in thread "main" java.lang.NumberFormatException: 
For input string: "osmar"
  at java.lang.NumberFormatException.forInputString(NumberFormatException.
java:48)
  at java.lang.Integer.parseInt(Integer.java:447)
  at java.lang.Integer.parseInt(Integer.java:497)
  at Estudos.main(Estudos.java:10)

Para contornar esta situação nós precisamos fornecer um bloco try...catch para tratar a exceção NumberFormatException. Veja:

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

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // vamos usar um objeto da classe Scanner para ler a idade do usuário
    Scanner entrada = new Scanner(System.in);
    
    // solicita a idade
    System.out.print("Informe sua idade: ");
    
    try{
      int idade = Integer.parseInt(entrada.nextLine());
    
      // mostra o valor lido
      System.out.println("A idade informada foi: " + idade);
    }
    catch(NumberFormatException nfe){
      System.out.println("Valor inválido: " + nfe.getMessage());	
    }    
  }
}

Agora o programa exibirá uma mensagem de erro caso o usuário forneça uma String que não pode ser convertida para inteiro.


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



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