You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Java编写的计算器三角函数按角度而非弧度计算

问题核心

Java 标准库Math类的三角函数默认以弧度为计算单位,直接传入用户输入的角度值会得到不符合预期的结果,之前调用Math.toDegrees无效是因为用错了转换方法。

错误原因
  • Math.sin()、Math.cos()、Math.tan()三个方法的入参要求为弧度值,不支持直接传入角度
  • Math.toDegrees()的功能是将弧度转换为角度,和当前需要的「角度转弧度」的转换方向完全相反,无法解决问题
修复方案

计算三角函数前,先调用Math.toRadians()方法将用户输入的角度值转换为弧度,再传入三角函数方法即可。
修正后的完整可运行代码:

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Please input a value to recieve the Trigonemetric value in degrees ");
        double degrees = scanner.nextDouble();
        // 先将角度转为弧度再传入三角函数计算
        double sineOfAngle = Math.sin(Math.toRadians(degrees));
        double cosOfAngle = Math.cos(Math.toRadians(degrees));
        double tanOfAngle = Math.tan(Math.toRadians(degrees));
        System.out.println();
        System.out.println("The Sine of " + degrees + " degrees is : " + sineOfAngle);
        System.out.println("The Cosine of " + degrees + " degrees is : " + cosOfAngle);
        System.out.println("The Tangent of " + degrees + " degrees is : " + tanOfAngle);
    }
}
额外说明
  • 如果不想用内置的转换方法,也可以手动按公式计算弧度:弧度 = 角度 * Math.PI / 180,计算结果和Math.toRadians()完全一致
  • 90度、270度这类角度的正切值不存在,计算时会返回无穷大,属于数学层面的正常结果,可根据需求添加边界判断做特殊处理

内容的提问来源于stack exchange,提问作者bruh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 08:57:21