首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Java SE 学习札记02 代码

2012-10-20 
Java SE 学习笔记02 代码数组相关API??约瑟夫问题使用数组解决??/** * 约瑟夫问题 */package org.sean.mod

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);}}

      ?

热点排行