Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Programação Orientada a Objetos |
Crie uma classe Esfera contendo um atributo de instância chamado diametro, do tipo double. Defina um construtor público que receberá o valor do diâmetro - Exercícios Resolvidos de JavaQuantidade de visualizações: 350 vezes |
Pergunta/Tarefa: Este desafio de programação Java aborda a Programação Orientada a Objetos. Crie uma classe Esfera contendo um atributo de instância chamado diametro, do tipo double. Defina um construtor público que receberá o valor do diâmetro da esfera e o usará para inicializar a variável diametro privada. Em seguida crie um método que calcula e retorna o volume da esfera como um double. Crie também um método que calcula e retorna a área da esfera. Finalmente, na classe principal da sua aplicação Java, crie três instâncias da classe Esfera e mostre os volumes e áreas correspondentes a cada uma. Para que você relembre as propriedades de uma esfera, dê uma olhada na imagem a seguir: ![]() 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 \] Lembre-se de que o raio é o diâmetro dividido por 2. Sua saída deve ser parecida com: Informe o diâmetro da primeira esfera: 7 O volume da esfera é: 179.5943800302165 A área da esfera é: 153.93804002589985 Informe o diâmetro da segunda esfera: 5 O volume da esfera é: 65.44984694978736 A área da esfera é: 78.53981633974483 Informe o diâmetro da terceira esfera: 9.4 O volume da esfera é: 434.8927654315375 A área da esfera é: 277.59112687119415 Veja a resolução comentada deste exercício usando Java: Código para a classe Esfera (Esfera.java): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; // definição da classe Esfera public class Esfera { private double diametro; // construtor da classe public Esfera(double diametro) { this.diametro = diametro; } // método que calcula e retorna o volume da esfera public double getVolume(){ // calculamos o raio double raio = this.diametro / 2; // calculamos o volume double volume = (4 * Math.PI * Math.pow(raio, 3)) / 3.0; // e retornamos o volume calculado return volume; } // método que calcula e retorna a área da esfera public double getArea(){ // calculamos o raio double raio = this.diametro / 2; // calculamos a área double area = 4 * Math.PI * Math.pow(raio, 2); // e retornamos a área calculada return area; } public double getDiametro() { return diametro; } public void setDiametro(double diametro) { this.diametro = diametro; } } Código para a classe de testes (Estudos.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) { // variáveis usadas na resolução do problema double diametro; Esfera e1, e2, e3; // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos ler o diâmetro da primeira esfera System.out.print("Informe o diâmetro da primeira esfera: "); diametro = Double.parseDouble(entrada.nextLine()); // criamos uma instância da classe Esfera e1 = new Esfera(diametro); // mostramos as informações System.out.println("O volume da esfera é: " + e1.getVolume()); System.out.println("A área da esfera é: " + e1.getArea()); // vamos ler o diâmetro da segunda esfera System.out.print("\nInforme o diâmetro da segunda esfera: "); diametro = Double.parseDouble(entrada.nextLine()); // criamos uma nova instância da classe Esfera e2 = new Esfera(diametro); // mostramos as informações System.out.println("O volume da esfera é: " + e2.getVolume()); System.out.println("A área da esfera é: " + e2.getArea()); // vamos ler o diâmetro da terceira esfera System.out.print("\nInforme o diâmetro da terceira esfera: "); diametro = Double.parseDouble(entrada.nextLine()); // criamos uma nova instância da classe Esfera e3 = new Esfera(diametro); // mostramos as informações System.out.println("O volume da esfera é: " + e3.getVolume()); System.out.println("A área da esfera é: " + e3.getArea()); } } |
![]() |
Java ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular desvio padrão em Java - Java para Matemática e EstatísticaQuantidade de visualizações: 2850 vezes |
Em Matemática e Estatística, o Desvio padrão (em inglês: Standard Deviation) é uma medida de dispersão, ou seja, é uma medida que indica o quanto um conjunto de dados é uniforme. Quando o desvio padrão é baixo, isso quer dizer que os dados do conjunto estão mais próximos da média. Como calcular o desvio padrão de um conjunto de dados? Vamos começar analisando a fórmula mais difundida na matemática e na estatística: \[\sigma = \sqrt{ \frac{\sum_{i=1}^N (x_i -\mu)^2}{N}}\] Onde: a) __$\sigma__$ é o desvio; b) __$x_i__$ é um valor qualquer no conjunto de dados na posição i; c) __$\mu__$ é a média aritmética dos valores do conjunto de dados; d) N é a quantidade de valores no conjunto. O somatório dentro da raiz quadrada nos diz que devemos somar todos os elementos do conjunto, desde a posição 1 até a posição n, subtrair cada valor pela média do conjunto e elevar ao quadrado. Obtida a soma, nós a dividimos pelo tamanho do conjunto. Veja o código Java completo que obtém o desvio padrão a partir de um conjunto de dados contendo quatro valores: ---------------------------------------------------------------------- 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[]){ // conjunto dos dados double conjunto[] = {10, 30, 90, 30}; double soma = 0.0; // soma dos elementos double desvioPadrao = 0.0; // desvio padrão int tam = conjunto.length; // tamanho dos dados // vamos somar todos os elementos for(int i = 0; i < tam; i++){ soma = soma + conjunto[i]; } // agora obtemos a média do conjunto de dados double media = soma / tam; // e finalmente obtemos o desvio padrão for(int i = 0; i < tam; i++){ desvioPadrao = desvioPadrao + Math.pow(conjunto[i] - media, 2); } // mostramos o resultado System.out.println("Desvio Padrão Populacional: " + Math.sqrt(desvioPadrao / tam)); System.out.println("Desvio Padrão Amostral: " + Math.sqrt(desvioPadrao / (tam - 1))); } } Ao executar este código Java nós teremos o seguinte resultado: Desvio Padrão Populacional: 30.0 Desvio Padrão Amostral: 34.64101615137755 Veja que, para calcular o Desvio Padrão Populacional, nós dividimos o somatório pela quantidade de elementos no conjunto, enquanto, para calcular o Desvio Padrão Amostral, nós dividimos o somatório pela quantidade de elementos - 1 (cuidado com a divisão por zero no caso de um conjunto com apenas um elemento). |
Java ::: Java para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular a distância entre dois pontos no plano em Java - Java para Geometria Analítica e Álgebra LinearQuantidade de visualizações: 6120 vezes |
Como calcular a Distância Euclidiana entre dois pontos usando Java. Em várias aplicações envolvendo geometria, principalmente no desenvolvimento de jogos em Java, é comum nos depararmos com a necessidade de calcular a distância entre dois pontos A e B. Nessa dica mostrarei como efetuar esse cálculo no R2, ou seja, no plano. Em outra dica eu abordo o cálculo no R3 (espaço). Comece analisando a imagem abaixo: ![]() Veja que temos um ponto A (x = 3; y = 6) e um ponto B (x = 9; y = 4). Para determinarmos a distância entre esses dois pontos no plano cartesiano, temos que realizar a análise tanto no sentido do eixo das abscissas (x) quanto no do eixo das ordenadas (y). Veja a fórmula: \[d_{AB} = \sqrt{\left(x_b - x_a\right)^2 + \left(y_b - y_a\right)^2}\] Agora, jogando os valores dos dois pontos da fórmula nós teremos: \[d_{AB} = \sqrt{\left(9 - 3\right)^2 + \left(6 - 4\right)^2}\] Que resulta em 6,32 (aproximadamente). E agora veja o código Java completo que lê as coordenadas dos dois pontos e mostra a distância entre eles: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import java.util.Scanner; public class Estudos{ public static void main(String args[]){ Scanner entrada = new Scanner(System.in); // vamos ler os dados do primeiro ponto System.out.print("Informe o x do primeiro ponto: "); double x1 = Double.parseDouble(entrada.nextLine()); System.out.print("Informe o y do primeiro ponto: "); double y1 = Double.parseDouble(entrada.nextLine()); // vamos ler os dados do segundo ponto System.out.print("Informe o x do segundo ponto: "); double x2 = Double.parseDouble(entrada.nextLine()); System.out.print("Informe o y do segundo ponto: "); double y2 = Double.parseDouble(entrada.nextLine()); // vamos obter a distância entre eles double distancia = distancia2d(x1, y1, x2, y2); System.out.println("Distância entre os dois pontos: " + distancia); } // função que permite calcular a distância // entre dois pontos no plano (R2) public static double distancia2d(double x1, double y1, double x2, double y2){ double a = x2 - x1; double b = y2 - y1; double c = Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2)); return c; } } Ao executarmos este código nós teremos o seguinte resultado: Informe o x do primeiro ponto: 3 Informe o y do primeiro ponto: 6 Informe o x do segundo ponto: 9 Informe o y do segundo ponto: 4 Distância entre os dois pontos: 6.324555320336759 |
Java ::: Java + MySQL ::: Metadados da Base de Dados (Database Metadata) |
Java MySQL - Como obter uma lista das funções de data e hora suportadas pelo MySQL usando o método getTimeDateFunctions() da interface DatabaseMetaDataQuantidade de visualizações: 5394 vezes |
Em algumas situações gostaríamos de, via código, obter uma lista das funções de data e hora suportadas pelo MySQL. Para isso podemos usar o método getTimeDateFunctions() da interface DatabaseMetaData. É importante observar que, no Sun Microsystem's JDBC Driver for MySQL, a interface DatabaseMetaData é implementada por uma classe do mesmo nome, no pacote com.mysql.jdbc.DatabaseMetaData. E esta classe implementa o método getTimeDateFunctions() de forma a retornar a lista de funções de data e hora separadas por vírgulas. Veja um trecho de código Java no qual listamos todas as funções de data e hora suportados no MySQL 5.0: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudosbancodados; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.SQLException; public class EstudosBancoDados{ public static void main(String[] args) { // strings de conexão String databaseURL = "jdbc:mysql://localhost/estudos"; String usuario = "root"; String senha = "osmar1234"; String driverName = "com.mysql.jdbc.Driver"; try { Class.forName(driverName).newInstance(); Connection conn = DriverManager.getConnection(databaseURL, usuario, senha); // vamos obter um objeto da classe com.mysql.jdbc.DatabaseMetaData DatabaseMetaData dbmd = conn.getMetaData(); // vamos obter a lista de funções de data e hora disponíveis // nesta versão do MySQL String funcoesDataHora = dbmd.getTimeDateFunctions(); // como a lista de funções está separada por vírgulas, vamos obter // uma matriz de strings String funcoes[] = funcoesDataHora.split(","); // vamos mostrar o resultado for(int i = 0; i < funcoes.length; i++){ System.out.println(funcoes[i]); } } catch (SQLException ex) { System.out.println("SQLException: " + ex.getMessage()); System.out.println("SQLState: " + ex.getSQLState()); System.out.println("VendorError: " + ex.getErrorCode()); } catch (Exception e) { System.out.println("Problemas ao tentar conectar com o banco de dados: " + e); } } } Ao executarmos este código teremos o seguinte resultado: DAYOFWEEK WEEKDAY DAYOFMONTH DAYOFYEAR MONTH DAYNAME MONTHNAME QUARTER WEEK YEAR HOUR MINUTE SECOND PERIOD_ADD PERIOD_DIFF TO_DAYS FROM_DAYS DATE_FORMAT TIME_FORMAT CURDATE CURRENT_DATE CURTIME CURRENT_TIME NOW SYSDATE CURRENT_TIMESTAMP UNIX_TIMESTAMP FROM_UNIXTIME SEC_TO_TIME TIME_TO_SEC |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
PHP - Como converter graus em radianos em PHP usando a função deg2rad() - Trigonometria para iniciantes JavaScript - Como testar se todos os elementos de um array satisfazem uma condição em JavaScript usando a função every() |
Códigos Fonte |
![]() 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 |
![]() 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 |