使用Java实现面向对象编程(11)

约瑟夫环问题:

package com.zb.test;

public class Yuesefu

{
  public static void main(String[] args)

  {
    //500个人数组
    boolean[] b = new boolean[500];
    for(int i = 0;i < b.length;i++)

    {
      b[i] = true; //表示所有人都是活的
    }
    int sum = b.length; //总数为500
    int index = 0; //人数的下标
    int count = 0; //报数的变量
    while(sum > 1)//当存活人数>1人

    { 
      if(b[index])//如果当前这人是活着的

      { 
        count++; //往上报数
        if(count == 3) //如果报到3 枪毙

        { 
          sum--; //总数-1
          b[index] = false; //当前这人死亡
          count = 0; //重新开始报数
        }
      }
      index++; //下标移到下一个人
      if(index == 500) //如果下标到500表示 1圈已经结束 重新计数

      {
        index = 0;
      }
    }
    for(int i = 0;i < b.length;i++)

    {
      if(b[i])

      {
        System.out.println("活着的位置是:"+(i+1));
      }
    }
  }
}

 

方法

getMethod:         获取类中以public 修饰的方法    如果存在继承  父类的方法也就存在于子类

getDeclareMethod:   获取类中声明的方法 即使以private修饰

posted on 2017-03-30 23:12  凌雨轩林  阅读(134)  评论(0编辑  收藏  举报

导航