热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何使用群报数小程序进行高效接龙与统计

在使用群报数小程序进行高效接龙与统计时,可以通过创建`LinkedList`对象并利用`for`循环生成指定数量的`Person`对象,为每个人员分配唯一的编号,并将其添加到`LinkedList`集合中。这一过程确保了数据的有序性和高效管理,便于后续的接龙和统计操作。此外,该小程序还支持实时更新和查看参与人员的状态,进一步提升了活动组织的便利性和准确性。

返回本章节 返回作业目录 需求说明: 利用List实现报数游戏在控制台输入一个大于3的正整数,该整数表示有多少人,如在控制台输入10,表示有10个人,10个人围成一个圆圈,从序号1开始为这些人依次编号。第一个人从数字1开始报数,数到3的人则离开该圆圈,第4个人继续从1开始数,再次数到3的人同样离开,反复进行此操作,直到剩下最后一个人,在控制台输出剩下的最后一个人的编号。

实现思路: 创建Person类,在该类中定义String类型属性人员编号no,并创建该属性的getter和setter属性,重写toString()方法,该方法返回值为人员编号值。创建CalcResult类,在该类中定义静态方法calc()方法,该方法将获取最后一个留下的那一个人的人员编号。在calc()方法中,创建LinkedList对象,并通过for循环创建指定数量的Person对象,为人员的编号依次赋值,将这些Person对象保存至LinkedList集合中。在calc()方法中定义int类型计数器,在while循环中通过计数器判断当前位置是否已经数到3。将未数到3的Person对象从LinkedList集合中移除,并将该对象添加至LinkedList的尾部,对于数到3的Person对象,则将该对象从LinkedList集合中移除掉,直到LinkedList仅有一个元素时结束循环。

 

实现代码:

(代码没有按照题目来写,但是思路是一样的)

package com.test.List1;import java.util.ArrayList;import java.util.Scanner;public class test {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("数字:");int num = sc.nextInt();ArrayList list = new ArrayList();for (int i = 1; i <= num; i++) {list.add(i);}int index = 0;while (list.size()>1) {index++;if (index==3) {list.remove(0);index = 0;} else {list.add(list.remove(0));System.out.println(list);}}System.out.println(list.get(index));}}

 


推荐阅读
author-avatar
你永远不冫会懂我的心O_751
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有