public class dfgf {
public static void main(String[]args)
{
int x=100,y=800;
int speed=20;
int time=0;
while(time<5)
{
x=x+20*time*(int)Math.cos(45.0);
y=y-20*time*(int)Math.sin(45.0)-(int)(9.8*time*time)/2;
time++;
System.out.println(" x="+ x+" y="+ y);
}
}
}
这个程序我不知道是什么问题x的值总是不会改变的, 不知道为什么?求教!
------解决方案--------------------
- Java code
(int)Math.cos(45.0); // 结果为0 x=x+20*time*(int)Math.cos(45.0); //想当于 x=x+20*time*0;
------解决方案--------------------
(int)Math.cos(45.0); 转整型为0; 改为(double)Math.cos(45.0)
------解决方案--------------------
------解决方案--------------------
(int)Math.cos(45.0)
这个的值始终是0,cos45变成整数后结果为0.所以x始终不变。
下面的(int)Math.sin(45.0)也是一样的。但是由于y后面还减了一个东西,所以y变了。。。。
------解决方案--------------------
(int)Math.cos(45.0),这是强制类型转换即将Math.cos(45.0)转换为整数,就是0;所以x总是不变的!