现在有
String str =  "310,10,0,3,3,3,3,3,3,0,3,0,3,3";
这样一个字符串
写个算法
把他进行排列组合后得到一个2维数组
3,1,0,3,3,3,3,3,3,0,3,0,3,3
1,0,0,3,3,3,3,3,3,0,3,0,3,3
0,1,0,3,3,3,3,3,3,0,3,0,3,3
0,0,0,3,3,3,3,3,3,0,3,0,3,3
1,1,0,3,3,3,3,3,3,0,3,0,3,3
3,0,0,3,3,3,3,3,3,0,3,0,3,3高手请赐教!!!

解决方案 »

  1.   

    public class Test{

    public static void main(String []args){

    String str = "310,10,0,3,3,3,3,3,3,0,3,0,3,3";
    String [] str1 = str.split(",");
    String [][]str2 = new String[6][str1.length];
    for (int i = 0,k=0; i<6; i++){
    for (int j = 0,f; j<str1.length; j++){
    f=j==0?k:i;
    str2[i][j] = str1[j].charAt(f%str1[j].length())+"";
    }
    if(i<2){
    k++;
    }else if(i==2){

    }else{
    k--;
    }
    }

    for (int i = 0; i<6; i++){
    for (int j = 0; j<str1.length; j++){
    System.out.print (str2[i][j]+" ");
    }
    System.out.println ();
    }

    }
    }
    这是答案
    3 1 0 3 3 3 3 3 3 0 3 0 3 3
    1 0 0 3 3 3 3 3 3 0 3 0 3 3
    0 1 0 3 3 3 3 3 3 0 3 0 3 3
    0 0 0 3 3 3 3 3 3 0 3 0 3 3
    1 1 0 3 3 3 3 3 3 0 3 0 3 3
    3 0 0 3 3 3 3 3 3 0 3 0 3 3
    Press any key to continue...
      

  2.   

    sun_3211 
    我要把这个
    String   str   =     "310,10,0,3,3,3,3,3,3,0,3,0,3,3"; 
    字符串换成
    String   str   =     "310,310,0,3,3,3,3,3,3,0,3,0,3,3"; 
    你这个怎么改一下呢
    看半天没看出来
      

  3.   

    public class Test{

    public static void main(String []args){

    String str = "310,10,0,3,3,3,3,3,3,0,3,0,3,3";
    String [] str1 = str.split(",");
    String [][]str2 = new String[6][str1.length];
    for (int i = 0; i<6; i++){
    for (int j = 0,f; j<str1.length; j++){
    str2[i][j] = str1[j].charAt(i%str1[j].length())+"";
    }
    }
    for (int i = 0; i<6; i++){
    for (int j = 0; j<str1.length; j++){
    System.out.print (str2[i][j]+" ");
    }
    System.out.println ();
    }

    }
    }
    这个问题 其实不好解决 你再看看这个