对于我正在学习的一个类,我正在尝试创建一个程序,该程序以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);
}
}
让论坛上的人来解决你的作业真的不好。否则,你的小程序会有几个问题(没有测试,请自己做)。
- CCD_ 1应当在
0
处开始并且在180
处停止。所以for(int anglex=0; anglex<=180; anglex+=5)
。在循环中使用anglex
而不是i
sinx
、cosx
、tanx
的计算和新行的打印应该在curliesanglex
0内。现在您的代码是这样的,循环中唯一的内容就是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循环仅适用于代码中的第一条语句。