• 新生——S型分班算法


    package org.zttc.service;
    
    public class DistributeClass {
    	
    	public static final Boolean order =true;
    	
    	public static void main(String[] args) {
    		
    		//把分班后数据存入二位数组
    		int test[][] = divideByClass(64,8,order);
    		String str = "顺序";
    		if(!order){
    			str = "倒序";
    		}	
    		
    		for(int i=0;i<8;i++){
    			for(int j=0;j<test[i].length;j++){
    				int x = test[i][j];
    				if(x != 0){
    					System.out.println("进行"+str+"排列的结果:第"+(i+1)+"班被分配的第"+(j+1)+"位学生总体排名为:"+x+"");
    				}
    			}
    		}
    		
    	}
    
    	public static int[][] divideByClass(int stuNum,int classNum,boolean type){
    
    		//定义一个二维数组,初始化容量为 stuNum=64 classNum=8 ,int[8][9]
    		int[][] rs = new int[classNum][stuNum/classNum+1];
    				
    		for(int i=0;i<stuNum;i++){//i<64
    			
    			int x = i%classNum;//求余 64/8  0 1 2 3 4 5 6 7   横坐标
    			int y = i/classNum;//整除 64/8  0 1 2 3 4 5 6 7 8  纵坐标
    			
    			//求余x=0,整除y!=0的时候,type取反
    			if(x==0 && y!=0){  // 8-false 16-true 24-false 32-true 40-false 48-true 56-true 64-false
    				type=!type;
    			}
    					
    			if(!type){
    				x = classNum-i%classNum-1; //班级数-序号%班级数-1
    				y = i/classNum;//序号/班级数
    			}
    			rs[x][y]=i+1; 
    			
    			/** x求余  y整除  rs数组
    			 *  i=0;x=0;y=0;type=true,rs[0][0]=1;
    			 *  i=1;x=1;y=0;type=true,rs[1][0]=2;
    			 *  i=2;x=2;y=0;type=true,rs[2][0]=3;
    			 *  i=3;x=3;y=0;type=true,rs[3][0]=4;
    			 *  i=4;x=4;y=0;type=true,rs[4][0]=5;
    			 *  i=5;x=5;y=0;type=true,rs[5][0]=6;
    			 *  i=6;x=6;y=0;type=true,rs[6][0]=7;
    			 *  i=7;x=7;y=0;type=true,rs[7][0]=8;
    			 *  i=8;x=6;y=1;type=false,rs[6][1]=9;
    			 *  i=9;x=6;y=1;type=false,rs[7][1]=10;
    			 *  i=10;x=
    			 */
    		}
    		return rs;
    	}
    }
    

     

  • 相关阅读:
    技巧和诀窍;在VS 2005里优化ASP.NET 2.0Web项目的Build性能(转)
    去噪:用于验证码图片识别的类续(C#代码)
    快速申请QQ号码的技巧(图文介绍)
    vs2005中调试js
    "Take the Internet Back“挂机程序(读信息挣美元)
    javascript的编写、调试
    硬盘速度和Visual Studio性能
    Java Swing的DragAndDrop机制
    Rails 的 SNS 准备
    学习,编译ffmpeg tutorial
  • 原文地址:https://www.cnblogs.com/wangmei/p/5941012.html
Copyright © 2020-2023  润新知