java基础数组,运行没反应谁帮忙看下哪写错了。

zyytxc 2013-03-22 03:15:13
public class Count {
public static void main(String[] args) {
boolean [] arr = new boolean[500];
System.out.println("aa");
for(int i=0; i<arr.length; i++){
arr[i] = true;
}
int cd = arr.length;
int ls = 0;
int s = 0;

while(cd>1){
if(arr[ls] = true){
s ++;
}if(ls == 3){
ls = 0;
arr[s] = false;
s --;
}
}
s++;
if(s ==arr.length){
s = 0;
}
for(int i=0; i<arr.length; i++){
arr[i] = true;
System.out.println("h");
}System.out.println("h");
}

}
...全文
228 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
中年風雨 2013-03-22
  • 打赏
  • 举报
回复
while(cd>1){ if(arr[ls] = true){ // if(arr[ls]) 或 if (arr[ls]==true)
zyytxc 2013-03-22
  • 打赏
  • 举报
回复
public class Count { public static void main(String[] args) { boolean[] arr=new boolean[500];//建立500个成员的数组 for(int i=0;i<arr.length;i++){ arr[i]=true;//初始值为true } int leftCount=arr.length; //还剩多少人 int countNum=0;//计数 int index=0;//第多少个 while(leftCount>1) //当人数大于1时 { if(arr[index]==true) //true表示圈里的人 { countNum++;//人数增加1 if(countNum==3)//当数到3时 { countNum=0;//从头开始 arr[index]=false;//这个人退出 leftCount--;//人数减1 } } index++; if(index==arr.length) { index=0;//当数到500的时候,从头开始 } //System.out.println(index); } for(int j=0;j<arr.length;j++){ if(arr[j]==true) { System.out.println(j); } } } } 全重写了下。大概是这样吧
zyytxc 2013-03-22
  • 打赏
  • 举报
回复
引用 3 楼 JXKnight 的回复:
int cd = arr.length cd为500 while(cd>1) 相当于 while(500 > 1) 即 while(true) ,死循环
额 死循环?这不是只要500>1这个就继续么。等到cd==1的时候循环结束。
泰坦小毛驴 2013-03-22
  • 打赏
  • 举报
回复
三楼正解其他逻辑没看
D_re_am 2013-03-22
  • 打赏
  • 举报
回复
目测3楼正解
见习骑士 2013-03-22
  • 打赏
  • 举报
回复
int cd = arr.length cd为500 while(cd>1) 相当于 while(500 > 1) 即 while(true) ,死循环
AndyXuq 2013-03-22
  • 打赏
  • 举报
回复
DEBUG调试一下下。。。
zyytxc 2013-03-22
  • 打赏
  • 举报
回复
public class Count { public static void main(String[] args) { boolean [] arr = new boolean[500]; for(int i=0; i<arr.length; i++){ arr[i] = true; } int cd = arr.length; int ls = 0; int s = 0; while(cd>1){ if(arr[ls] = true){ s ++; }if(ls == 3){ ls = 0; arr[s] = false; s --; } } s++; if(s ==arr.length){ s = 0; } for(int i=0; i<arr.length; i++){ arr[i] = true; System.out.println(arr[i]); } } } 这个是。上面的弄错了。

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧