一个java入门编程小问题?



 public class Count3Quit {
public static void main(String[] args) {
    boolean [] arr;
    arr = new boolean [500];
    for (int i = 0;i < arr.length;i++) {
        arr[i] = true;
    }

    int index = 0;
    int now = 0;
    int left = arr.length;
    while(left > 1) {
      if(arr[index] = true) {
        now = now + 1;
        if(now == 3) {
            arr[index] = false;
            left = left - 1;
            now = 0;
        }
      }
      index = index + 1;
      if(index == arr.length) {
        index = 0;
      }
    }

    for(int i = 0;i < arr.length;i++) {
        if(arr[i] = true) {
            System.out.println(i);
        }

    }
}
}

大侠们,自学java,又碰到一个不知道咋错的了,麻烦各位大神了。。。。 这个结果就是打印出了0到499

题目就是500个人围成一圈,从某一个人开始数,数到第三个人让他离开这个圈,然后从下一个人继续数,同样是第三个人离开,这样一直下去,直到剩下一个人,问这个人在第几个位置(相对于开始数的起点)?

编程 java

河里宅蟹也燃夫 10 years, 6 months ago

你犯了一个基本的错误 if(arr[index] = true) {

这里应该是==

没有试你的程序, 不知道还有没有别的问题

oO北落师门 answered 10 years, 6 months ago

Your Answer