读书人

Java SE 学习札记02 代码

发布时间: 2012-10-20 14:12:47 作者: rapoo

Java SE 学习笔记02 代码

数组相关API

?

Java SE 学习札记02 代码Java SE 学习札记02 代码

    ?

    约瑟夫问题使用数组解决

    ?

    ?

    Java SE 学习札记02 代码Java SE 学习札记02 代码
      /** * 约瑟夫问题 */package org.sean.module02;/** * @author 不落的太阳(Sean Yang) */public class Count3Quit {/** * 首先判断数组里面的元素是否为true,即人员是否在圈中,如果为true则继续计数,计数器累加 * 当计数器到达3的时候,首先计数器要归零,,然后boolean数组中该位置的元素要置为false, 同时总数减少一个,索引下标增加一个 * 由于多人首尾相连,所以当到达最后一个元素的时候,索引要归零 * * @param array * 要检测的数组 */public static void count3Quit(boolean[] array) {for (int i = 0; i < array.length; i++) {array[i] = true;}// 计数器int counter = 0;// 剩余人数int leftCount = array.length;// 索引int index = 0;while (leftCount > 1) {if (array[index] == true) {counter++;if (counter == 3) {counter = 0;array[index] = false;leftCount--;}}index++;if (index == array.length) {index = 0;}}for (int i = 0; i < array.length; i++) {if (array[i] == true) {System.out.println("剩余人员的位置是" + (i + 1));}}}public static void main(String[] args) {boolean[] array = new boolean[500];count3Quit(array);}}

      ?

读书人网 >编程

热点推荐