Ir ao conteúdo
  • Cadastre-se

Casting e operadores aritmeticos


Posts recomendados

A questao pede medidas em double e pede os calculos em float, ai eu converti os valores pra float, mas na hora de medir a diagonal eu não consigo acertar, eu acho que deveria usar Math.sqrt e Math.pow mas da erro, alguem me ajuda

 

/*
Crie variáveis double para a base e a altura de um retângulo e calcule sua área, 
perímetro e diagonal em float.
 */
package javaUn3L2;

/**

 * Celula 08
 * 15/04/2017
 */
import java.util.Scanner;
public class Exercicio06 {
    public static void main(String[] args) {
        //Variaveis
        double base, h;
        float area, perimetro, diagonal, diagonalf;
        Scanner scan = new Scanner(System.in);
        System.out.println("Entre com o valor da base e altura do retângulo:");
        base = scan.nextDouble();
        h = scan.nextDouble();
        float baseF = Math.round (base);
        float hF = Math.round (h);
        area = baseF*hF;
        perimetro = (2*baseF+2*hF);
        
        
        diagonal  = (baseF*baseF)+(hF*hF);
        
        
        System.out.println("Área:"+area);
        System.out.println("Perímetro:"+perimetro);
    }
    
}


 

ME AJUDA.txt

Link para o comentário
Compartilhar em outros sites

Ola..

 

A variável diagonalf pode simplesmente ser calculada por 

diagonalf = (float) Math.sqrt(diagonal);

Depois você pode imprimir diagonalf usando Math.round() porque você está usando isso nos outros valores. Lembrando que com Math.round() você nunca vai ter valores "quebrados" para as suas medidas. Se digitar um 6,7, por exemplo, o valor será arredondado para 7.

 

Como Math.sqrt() devolve um double, será necessário fazer cast para float.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...