现在有两个数组,数组A里面装的是些部门信息(部门编号、部门名称),数组B里面有员工信息(部门编号、员工名称)我要打印出来的效果是:产品部--------
张三:LLLL
李四:LLLL
实施部--------
核武:LLLL
销售部--------
三五:LLLL
互补:LLLL
市场部--------
李婷:LLLL
人力资源部--------
小虎:LLLL
public static void main(String[] args) {
String []deptInfo=new String []{"1","产品部","2","实施部","3","销售部","4","市场部","5","人力资源部"};
String []employeeInfo=new String[]{"3","三五","3","互补","4","李婷","1","张三","1","李四","2","核武","5","小虎"};
String a=null;
for (int i = 0; i < deptInfo.length; i++) {

if(i%2==0){

  a=deptInfo[i];
  
  System.out.println(deptInfo[i+1]+"--------");
 }

for (int j = 0; j < employeeInfo.length; j++) {

if(j%2==0){

    if(a.equals(employeeInfo[j])){
    
     System.out.println(employeeInfo[j+1]+":LLLL");
    }

}

}

}

}不知道我代码哪里有问题,为什么打印员工信息的时候,都重复执行两遍。打印后效果如下产品部--------
张三:LLLL
李四:LLLL
张三:LLLL
李四:LLLL
实施部--------
核武:LLLL
核武:LLLL
销售部--------
三五:LLLL
互补:LLLL
三五:LLLL
互补:LLLL
市场部--------
李婷:LLLL
李婷:LLLL
人力资源部--------
小虎:LLLL
小虎:LLLL

解决方案 »

  1.   

    for example
    String []deptInfo=new String []{"1","产品部","2","实施部","3","销售部","4","市场部","5","人力资源部"};
    String []employeeInfo=new String[]{"3","三五","3","互补","4","李婷","1","张三","1","李四","2","核武","5","小虎"};
    String a=null;
    for (int i = 0; i < deptInfo.length; i+=2) {
        a=deptInfo[i];
        System.out.println(deptInfo[i]+"--------");    for (int j = 0; j < employeeInfo.length-1; j+=2) {
            if(a.equals(employeeInfo[j])){
                System.out.println(employeeInfo[j+1]+":LLLL");
            }
        }
    }
      

  2.   

    当下标为奇数时,a的值仍为上一次偶数的赋值,所以重复了。
    如:当i=1时,a的值仍为0。
    这是我改的
    String []deptInfo=new String []{"1","产品部","2","实施部","3","销售部","4","市场部","5","人力资源部"};
    String []employeeInfo=new String[]{"3","三五","3","互补","4","李婷","1","张三","1","李四","2","核武","5","小虎"};
    String a=null;
    for (int i = 0; i < deptInfo.length; i++) { if(i%2==0){ a=deptInfo[i];
     
    System.out.println(deptInfo[i+1]+"--------");
    }else
    a=null;//当下标位置为部门名称时清空

    for (int j = 0; j < employeeInfo.length; j++) { if(j%2==0){

    if(a!=null)//判断是否为空
    if(a.equals(employeeInfo[j])){
    System.out.println(employeeInfo[j+1]+":LLLL");

    } } }//a=null; 这里清空也行! }
    }
      

  3.   

    当下标为奇数时,a的值仍为上一次偶数的赋值,所以重复了。
    如:当i=1时,a的值仍为0。
    这是我改的 String []deptInfo=new String []{"1","产品部","2","实施部","3","销售部","4","市场部","5","人力资源部"};
    String []employeeInfo=new String[]{"3","三五","3","互补","4","李婷","1","张三","1","李四","2","核武","5","小虎"};
    String a=null;
    for (int i = 0; i < deptInfo.length; i++) { if(i%2==0){ a=deptInfo[i];
     
    System.out.println(deptInfo[i+1]+"--------");
    }else
    a=null;//当下标位置为部门名称时清空

    for (int j = 0; j < employeeInfo.length; j++) { if(j%2==0){

    if(a!=null)//判断是否为空
    if(a.equals(employeeInfo[j])){
    System.out.println(employeeInfo[j+1]+":LLLL");

    } } }//a=null; 这里清空也行! }
    }
      

  4.   

    String strTemp="abcd";

    StringBuffer buffer=new StringBuffer();

    int strLength=strTemp.length()-1;//循环的总次数

    int i=0;

    while (i<strLength) {

    if(i!=strLength-1) buffer.append(strTemp.substring(i,i+2)+",");

    else buffer.append(strTemp.substring(i,i+2));

    i++;
    }
    System.out.println(buffer);