首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

java算术题解决思路

2012-06-11 
java算术题public class dfgf {public static void main(String[]args){int x100,y800int speed20int

java算术题
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; 改为(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总是不变的!

热点排行