Como calcular cosseno de um angulo em graus ? [RESOLVIDO]

// Dado um angulo em graus retornar o cosseno
// Resultado do angulo em graus (não em radianos)

public class Main {

	public static void main(String[] args) {
		double angulo = 90, valor;
		valor = Math.cos(angulo);
		System.out.println(valor);
	}
}

Cara, cosseno é um escalar entre 0 e 1. Não existe cosseno em graus ou radianos, é o ângulo que pode ser expresso em graus ou radianos. Assim, o que você precisa fazer é converter a entrada da função, não o resultado. Como a função Math.cos recebe o ângulo em radianos e o exercício pede para receber o ângulo em graus, você precisa, antes de usar a função Math.cos converter o ângulo recebido em graus para radianos. Esse processo é feito usando a regra de três:

PI rad ------------------  180°
r   rad ------------------   g °

=> 180 x r = PI x g
=>  r = (PI / 180) x g

Portanto, para converter graus em radianos basta multiplicar o ângulo em graus por (180 / PI).

1 curtida

Só complementando a resposta do @rmendes08, a classe Math possui métodos para converter radianos em graus e vice versa, então se preferir (e for permitido, caso seja um exercício), pode usá-los ao invés da conta sugerida:

Abraços.

1 curtida

Obrigado gente tentei de tudo com os métodos Math.toDegrees(angrad);
Mas eu não estou acreditando o negócio é difícil.
Vou continuar tentando aqui.
Eu resolvi colocar uma calculadora no meu sistema porque no Linux em algumas versões eles não oferecem já no sistema operacional uma calculadora descente.

valor = Math.cos(Math.toDegrees(angulo);
// Deveria funcionar mas não dá como resultado 1

Olha só, você tá confundindo as coisas.

Primeiro, o cosseno de 90 graus é 0, nao 1. (O seno é 1)

Segundo, seu valor angulo está em graus (90), você nao tem que converter para graus de novo, tem que converter para radiano.

Realmente confundi o seno e o cosseno de 90

// Resolvido

valor = Math.cos(Math.toRadians(angulo))
valor = new BigDecimal(valor).setScale(2, RoundingMode.HALF_DOWN)

o cosseno de noventa é um número infinitamente pequeno sendo praticamente zero é preciso arredondar

O cosseno de 90° é exatamente 0. A representação em ponto-flutuante que não é precisa.