magicutils.java

来自「java learn PPT java learn PPT java learn」· Java 代码 · 共 98 行

JAVA
98
字号
     package magic.util;

     import magic.debug.*;

     public class MagicUtils extends Object
     {
          //预先计算好的正弦、余弦和正切值
          static double[] sinTable = null;
          static double[] cosTable = null;
          static double[] tanTable = null;

          //创建三个三角函数查询表
          public static void buildTrigTables()
          {
               Debugger.reportMessage("Building trig tables (MagicUtils.buildTrigTables)...");

               sinTable = new double[360];
               cosTable = new double[360];
               tanTable = new double[360];

               double radians;
               for(int i = 0; i < 360; i++)
               {
                    radians = Math.toRadians(i);
                    sinTable[i] = Math.sin(radians);
                    cosTable[i] = Math.cos(radians);
                    tanTable[i] = Math.tan(radians);
               }

          }

          public static double sin(int degrees)
          {
               if(degrees < 0)
               {
                    degrees = 360 + degrees%360;
               }
               if(degrees >= 360)
               {
                    degrees %= 360;
               }

               try
               {
                    return sinTable[degrees];
               }
               catch(NullPointerException e)
               {
                    buildTrigTables();
                    return sin(degrees);
               }
          }

          public static double cos(int degrees)
          {
               if(degrees < 0)
               {
                    degrees = 360 + degrees%360;
               }
               if(degrees >= 360)
               {
                    degrees %= 360;
               }

               try
               {
                    return cosTable[degrees];
               }
               catch(NullPointerException e)
               {
                    buildTrigTables();
                    return cos(degrees);
               }
          }

          public static double tan(int degrees)
          {
               if(degrees < 0)
               {
                    degrees = 360 + degrees%360;
               }
               if(degrees >= 360)
               {
                    degrees %= 360;
               }

               try
               {
                    return tanTable[degrees];
               }
               catch(NullPointerException e)
               {
                    buildTrigTables();
                    return tan(degrees);
               }
          }

     }    // MagicUtils

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?