哪位大大帮我看下,为神马运行结果都是一样的。。。
public class C4_bc2{
public static void main(String arg[]){
C4_bc2 t=new C4_bc2();
t.t1();
}
void t1(){
//创建5只蚂蚁
MaYi m1=new MaYi();
MaYi m2=new MaYi();
MaYi m3=new MaYi();
MaYi m4=new MaYi();
MaYi m5=new MaYi();
//设置蚂蚁的初始朝向
for(int i=1;i<3;i++)
for(int j=1;j<3;j++)
for(int k=1;k<3;k++)
for(int m=1;m<3;m++)
for(int n=1;n<3;n++){
//设置蚂蚁的初始状态
m1.alreadyGone=false;
m1.site=3;
m1.direct=i;
m2.alreadyGone=false;
m2.site=7;
m2.direct=j;
m3.alreadyGone=false;
m3.site=11;
m3.direct=k;
m4.alreadyGone=false;
m4.site=17;
m4.direct=m;
m5.alreadyGone=false;
m5.site=23;
m5.direct=n;
//每一秒钟检测蚂蚁状态
for(int p=1;p<100;p++){
//如果蚂蚁没有离开木杆,走动一步
if(!m1.alreadyGone)
m1.step();
if(!m2.alreadyGone)
m2.step();
if(!m3.alreadyGone)
m3.step();
if(!m4.alreadyGone)
m4.step();
if(!m5.alreadyGone)
m5.step();
//检测蚂蚁是否相遇
if(m1.site==m2.site&&m1.direct==2&&m2.direct==1){
m1.changeDirect();
m2.changeDirect();
}
if(m2.site==m3.site&&m2.direct==2&&m3.direct==1){
m2.changeDirect();
m3.changeDirect();
}
if(m3.site==m4.site&&m3.direct==2&&m4.direct==1){
m3.changeDirect();
m4.changeDirect();
}
if(m4.site==m5.site&&m4.direct==2&&m5.direct==1){
m4.changeDirect();
m5.changeDirect();
}
//检测蚂蚁是否全部离开木杆
if(m1.alreadyGone&&m2.alreadyGone&&m3.alreadyGone&&m4.alreadyGone&&m5.alreadyGone){
System.out.println(""+i+j+k+m+n+" 离开时间为:"+p);
break;
}
}
}
}
}
class MaYi{
//蚂蚁是否在离开
boolean alreadyGone=false;
//蚂蚁头的朝向,1为向左,2位向右
int direct=1;
//蚂蚁现在的位置
int site=0;
//蚂蚁走动
void step(){
if(direct==0)
site-=1;
else
site+=1;
//判断蚂蚁是否离开木杆
if(site==0||site==27)
alreadyGone=true;
}
//蚂蚁掉头
void changeDirect(){
if(direct==1)
direct=2;
else
direct=1;
}
}
JAVA练习题蚂蚁爬木杆
答案:2 悬赏:30 手机版
解决时间 2021-03-14 04:22
- 提问者网友:ミ烙印ゝ
- 2021-03-13 17:43
最佳答案
- 五星知识达人网友:旧脸谱
- 2021-03-13 19:09
void step() {
if(direct == 1)//这里应该是1吧
site-=1;
if(direct == 1)//这里应该是1吧
site-=1;
全部回答
- 1楼网友:举杯邀酒敬孤独
- 2021-03-13 20:23
http://www.yakue.com/document/82650.html 请看这里的视频 不知道能不能帮助你
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯