小明一家出去旅游,结果爸爸有事,小明就和小狗先走十分钟,速度为80米每分钟,十分钟后,爸爸开始走,小明先80米每钟的速度走十分钟和再以160米每分钟的速度走十分钟,然后这样交替前进,爸爸以75米每分钟的速度走十分钟后再以每分钟200米的速度前进,然后交替变速前进(即每十分钟换一次速度),当爸爸出发后,小狗以每分钟500的速度来回跑于儿子和爸爸之间,试用面向对象(JAVA)的编程思想,儿子给出时间参数后,求出小狗离家的距离,以及来回跑了多少次?
请告诉我思想是什么?谢谢
请告诉我思想是什么?谢谢
static void getLength(){
double sFather = 0;//爸爸离家的距离
double sSon = 800;//儿子离家的距离
double sDog = 800;//小狗离家的距离
int time = 4;//参数,儿子的时间参数,不包括开始的10分钟
int flg = -1;//小狗跑的方向,朝爸爸为-1,朝儿子为1
int t = 1;//时间的循环变量,以一秒为单位
int cnt = 0;//小狗在爸爸跟儿子间来回的次数
while(t <= time*60){
double vFather = (double)75/60;//1秒的速度
double vSon = (double)80/60;//1秒的速度
if(t % (20*60) > (10*60)){
vFather = (double)200/60;//1秒的速度
vSon = (double)160/60;//1秒的速度
}
sFather += vFather;
sSon += vSon;
sDog += flg * 500/(double)60;//加小狗1秒的速度
t++;
if(sFather >= sDog) {flg = 1; cnt++;}
if(sSon <= sDog) {flg = -1; cnt++;}
} System.out.println(sDog);
System.out.println(cnt);
}