关于使用Java进行排班的问题

直接上代码,自己看。

package student_on_duty;                                                                                                       
/**
     * 1. 这是一个最简单值日生轮班排班的程序。只用到了一维数组、for循环和if判断
     * 2.   现在可以输入姓名、星期、日期来分别查看不同的数据
     * 3.    关于去掉双休后在数组产生null值得问题,我用list另外写了一个DeleteArrayNull
     *        的 方法放在了method1里面。这里直接导入了(这个方法我放在最后贴出来)
     * 4. 我这里直接使用的系统时间,  有多少人就产生多少人的排班 。没有循环人,因为感觉没多大用。
     *    使用完了再产生一次排班就好了,何必写哪没用的东西。
     * 5. 输入条 件有漏洞,特别是日期这里。
     * 6.有改进的地方,把数组换成list集合,可以进行人员的删除和增加。我这里没有用,直接写死了
     * 7. 几个数组的长度也写死了,可以自己拿过去用的时候自己改改。毕竟这里只是一个例子。
     *8.  注释是我自己调试和修改程序的痕迹                                               =    =   !!
     * 9. 写的比较复杂。难点就是怎么去掉系统的双休                                    --     ! !
     *     
     *     @author 作者
     *     
     */
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner; 
import method1.DeleteArrayNull;
public class StudentOnDuty {
    public static void main(String[] args) {
        // 用户输入窗口   
         String aa = null ;
           Calendar calendar = Calendar.getInstance();  
        System.out.println("输入下列查询条件之一:(格式: 日期20xx-0x-0x、 姓名xxx、星期xxx) 开始查询!");
        Scanner sc=new Scanner(System.in);       
           String[]student_on_duty={"赵","钱","孙","李","周","吴","郑","王",
                                    "冯","陈","褚","卫","蒋 ","沈","韩","杨",
                                    "朱","秦","尤","许","何","吕","施","张"};  //人员名单
           //定义各种数组
           String [] riqi=new String[50] ; //值班日期
           String [] paihaohou=new String[24] ; //排班后名单
           String []  newriqi=new String[24];
  //           这个日期判断会导致日期集合里面出现NULL值,
           for(int i=0;i


    去掉String数组NULL 值的方法:

package method1;

import java.util.ArrayList;

/***
     * 去除String数组中的空值
     */
public class DeleteArrayNull {

    public static String[] deleteArrayNull(String string[]) {
        String strArr[] = string;

        // step1: 定义一个list列表,并循环赋值
        ArrayList strList = new ArrayList();
        for (int i = 0; i < strArr.length; i++) {
            strList.add(strArr[i]);
        }

        // step2: 删除list列表中所有的空值
        while (strList.remove(null));
        while (strList.remove(""));

        // step3: 把list列表转换给一个新定义的中间数组,并赋值给它
        String strArrLast[] = strList.toArray(new String[strList.size()]);

        return strArrLast;
    }
}

运行结果:
关于使用Java进行排班的问题_第1张图片

 

关于使用Java进行排班的问题_第2张图片

 

关于使用Java进行排班的问题_第3张图片

你可能感兴趣的:(技术,Java,排班,去NULL值)