java 实现约瑟夫环的实例代码_java

复制代码 代码如下:

import java.io.BufferedInputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Josephus {
    private static class Node{
        int No;
        Node next;
        public Node(int No){
            this.No=No;
        }
    }
    public static void main(String[] args) {
        int totalNum,cycleNum;
        List<Integer> list = new ArrayList<Integer>();
        Scanner cin = new Scanner(new BufferedInputStream(System.in));
        System.out.println("请输入总人数:");
        totalNum=cin.nextInt();
        System.out.println("请输入报数人数:");
        cycleNum=cin.nextInt();
        Node header = new Node(1);
        Node pointer = header;
        for(int i=2;i<=totalNum;i++){
            pointer.next = new Node(i);
            pointer = pointer.next;
        }
        pointer.next= header;
        pointer=header;
        while(pointer != pointer.next){
            int i =2;
            while(i<cycleNum){
                pointer = pointer.next;
                i++;
            }
            //list.add(pointer.next.No);
            System.out.println("将序号"+pointer.next.No+"剔除。");
            pointer.next=pointer.next.next;
            pointer=pointer.next;
        }
        System.out.println("这是最后一个人:"+pointer.No);
    }
}

时间: 2024-10-28 08:36:10

java 实现约瑟夫环的实例代码_java的相关文章

Java实现FTP服务器功能实例代码_java

FTP(File Transfer Protocol 文件传输协议)是Internet 上用来传送文件的协议.在Internet上通过FTP 服务器可以进行文件的上传(Upload)或下载(Download).FTP是实时联机服务,在使用它之前必须是具有该服务的一个用户(用户名和口令),工作时客户端必须先登录到作为服务器一方的计算机上,用户登录后可以进行文件搜索和文件传送等有关操作,如改变当前工作目录.列文件目录.设置传输参数及传送文件等.使用FTP可以传送所有类型的文件,如文本文件.二进制可执

java哈夫曼树实例代码_java

本文实例为大家分享了哈夫曼树java代码,供大家参考,具体内容如下 package boom; import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Queue; class Node<T> implements Comparable<Node<T>>{ private T

Java实现邮箱找回密码实例代码_java

通过邮件找回密码功能的实现 1.最近开发一个系统,有个需求就是,忘记密码后通过邮箱找回.现在的系统在注册的时候都会强制输入邮箱,其一目的就是 通过邮件绑定找回,可以进行密码找回.通过java发送邮件的功能我就不说了,重点讲找回密码. 2.参考别人的思路:发送邮件→请求邮件里的URL→验证url→{验证成功修改密码,不成功跳转到失败页面} 重点就是如何生成这个url和如何解析这个url. 需要注意的是一个url只能修改一次密码,当同一帐号发送多封邮件,只有最后一封邮件的url 邮箱  3.加密能防

java多线程复制文件的实例代码_java

复制代码 代码如下:  package com.test; import java.io.FileNotFoundException;  import java.io.IOException;  import java.io.RandomAccessFile;  public class FileCoper {      private static final String _ORIGIN_FILE_MODE = "r";              private static fi

Java批量修改文件名的实例代码_java

复制代码 代码如下: import java.io.*; import java.util.*;public class Test {     public static void main(String[] args) throws IOException {        BufferedReader br = new BufferedReader(new FileReader("output1.txt"));        List<String> newName =

Java自动解压文件实例代码_java

复制代码 代码如下: import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.Enumeration; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; public cl

java实现MD5加密算法的实例代码_java

复制代码 代码如下: package other; import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;/* * MD5 算法*/public class MD5 {     // 全局数组    private final static String[] strDigits = { "0", "1", "2", "3"

Java使用JDBC连接Oracle_MSSQL实例代码_java

一.Statement 复制代码 代码如下: import java.sql.*; public class TestJDBC {  public static void main(String[] args) {  Connection oracle_conn = null;  Statement oracle_stmt = null;  ResultSet oracle_rs = null;   Connection mssql_conn = null;  Statement mssql_s

JAVA 获取系统当前时间实例代码_java

本文章向大家讲解java中时间的获取和格式化,  一. 获取当前系统时间和日期并格式化输出: import java.util.Date; import java.text.SimpleDateFormat; public class NowString { public static void main(String[] args) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式