// 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).
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:
- Math.toDegrees : de radianos para graus
- Math.toRadians: de graus para radianos
Abraços.
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.