初学者,以5度为增量的基本三角表



对于我正在学习的一个类,我正在尝试创建一个程序,该程序以5度为步长,为0到180度的角度生成一个sin()、cos()和tan()值表。

http://i65.tinypic.com/14ahliq.jpg

到目前为止,我有以下代码,它产生了一个介绍和表的前两行,但我不知道如何让它重复。

import java.util.*;
public class Angles {
    public static void main(String[] args) {
        Scanner console = new Scanner(System.in);
        System.out.println("This program computes the");
        System.out.println("sin(), cos(), and tan() values");
        System.out.println("for angles from 0 to 180 degrees");
        System.out.println("in steps of 5 degrees.");
        System.out.println("");
        System.out.println("AngletSin()tCos()tTan()");
        double Anglex = 0;
        for(double i = 5;i <= Anglex;i += 5) {
            Anglex = 0 + i;
        }
        double Sinx = Math.sin(Math.toRadians(Anglex));
        double Cosx = Math.cos(Math.toRadians(Anglex));
        double Tanx = Math.tan(Math.toRadians(Anglex));
        System.out.println(Anglex + "t" + Sinx + "t" + Cosx + "t" + Tanx);
    }
}

让论坛上的人来解决你的作业真的不好。否则,你的小程序会有几个问题(没有测试,请自己做)。

  1. CCD_ 1应当在0处开始并且在180处停止。所以for(int anglex=0; anglex<=180; anglex+=5)。在循环中使用anglex而不是i
  2. sinxcosxtanx的计算和新行的打印应该在curlies anglex0内。现在您的代码是这样的,循环中唯一的内容就是anglex的增量

很抱歉没有提供完整的解决方案,很确定你能做到。

for循环重新广播到

for (double Anglex = 0; Anglex <= 180; Anglex += 5){

注意用大括号括起后面的多个语句。不要忘记用一个结束的}来平衡它;可能在CCD_ 15呼叫之后。

使用double作为循环索引并不符合每个人的口味(如果不使用整数,可能会给自己带来麻烦),但在这种情况下,这是可以的,尤其是当您使用<=作为停止条件时。

在Java中也不鼓励以大写字母开头的变量名,因为这是非常规的。

您的for循环仅适用于Anglex=0+i行。

将{}添加到应重复的整个部分。

public static void main(String[] args) {
    System.out.println("This program computes the");
    System.out.println("sin(), cos(), and tan() values");
    System.out.println("for angles from 0 to 180 degrees");
    System.out.println("in steps of 5 degrees.");
    System.out.println("");
    System.out.println("AngletSin()tCos()tTan()");
    double maxAngleX = 180.0;
    for (double angleX = 5; angleX <= maxAngleX; angleX += 5) {
      double Sinx = Math.sin(Math.toRadians(angleX));
      double Cosx = Math.cos(Math.toRadians(angleX));
      double Tanx = Math.tan(Math.toRadians(angleX));
      System.out.println(angleX + "t" + Sinx + "t" + Cosx + "t" + Tanx);
    }
}
for(double i = 5;i <= Anglex;i += 5) {
    Anglex = 0 + i;
    double Sinx = Math.sin(Math.toRadians(Anglex));
    double Cosx = Math.cos(Math.toRadians(Anglex));
    double Tanx = Math.tan(Math.toRadians(Anglex));
}

将上述语句封装在{和}中。for循环仅适用于代码中的第一条语句。

最新更新