输出2个数,一个除数 i,一个被除数 j, 比方说4,13,
要求输出一个2维数组,按j/i,如果能整除的话就是分为j/i组,如果不能整除的话就分为j/i+1组,余数另为一组
按照上面的要求,应该输出{1,2,3},{4,5,6},{7,8,9},{10,11,12},{13}这样类似的一个2维数组
请教如何用java来实现?

解决方案 »

  1.   

    顶一下,帮帮忙,谢谢了
    我自己写了个,但是没有写全,报错了
    public class Test {
        public static void main(String[] args) throws Exception{
         int items=4, count=12;
         int g=0;
            int[][] s=new int[count%items==0?count/items:(count/items+1)][];
          for(int i=0; i<s.length; i++)
          {
                for(int j=g;j < items*(i+1); j++)
            {
           s[i][j]=j;
            g++;
         System.out.println(s[i][j]);
            }  
          
        
          
          }
          
          
           
          } 
      

  2.   

    一定要放二维数组里吗?我直接输出来行不不行?import java.io.*; 
    import java.util.*; 
    public class Test 

        public static void main (String args[]) throws Exception 
        { 
            System.out.println("Please input divisor and dividend:");
            BufferedReader stdin =  new BufferedReader(new InputStreamReader(System.in));         String line = stdin.readLine(); 
            StringTokenizer st = new StringTokenizer(line); 
            int a = Integer.parseInt(st.nextToken()); 
            int b = Integer.parseInt(st.nextToken()); 
            int c=b/a;
            int d=b%a;
            int count=1;
            int i=1;
            for(;i<=b-d;i++){
             while(count<=a){
             if(count!=a)
                System.out.print(i+++",");
             else
             System.out.print(i);
             count++;
             }
             System.out.println();
             count=1;
            }
            for(int j=0;j<d;j++)
               if(j==d-1)
                  System.out.println(i);
               else
                  System.out.print(i+++","); 
        } 
    }
    结果为:Please input divisor and dividend:
    4 13
    1,2,3,4
    5,6,7,8
    9,10,11,12
    13处理已完成。
      

  3.   

    我才发现你的描述有冲突啊按j/i,如果能整除的话就是分为j/i组,如果不能整除的话就分为j/i+1组,余数另为一组 
    按照上面的要求,应该输出{1,2,3},{4,5,6},{7,8,9},{10,11,12},{13}这样类似的一个2维数组 13/4=3 应该分成4组,你那输出结果有5组了,要得到你的输出结果就要改下import java.io.*; 
    import java.util.*; 
    public class Test 

        public static void main (String args[]) throws Exception 
        { 
            System.out.println("Please input divisor and dividend:");
            BufferedReader stdin =  new BufferedReader(new InputStreamReader(System.in));         String line = stdin.readLine(); 
            StringTokenizer st = new StringTokenizer(line); 
            int a = Integer.parseInt(st.nextToken()); 
            int b = Integer.parseInt(st.nextToken()); 
            int c=b/a;
            int d=b%a;
            int count=1;
            int i=1;
            for(;i<=b-d;i++){
             while(count<=c){
             if(count!=c)
                System.out.print(i+++",");
             else
             System.out.print(i);
             count++;
             }
             System.out.println();
             count=1;
            }
            for(int j=0;j<d;j++)
               if(j==d-1)
                  System.out.println(i);
               else
                  System.out.print(i+++","); 
        } 
    }输出结果:Please input divisor and dividend:
    4 13
    1,2,3
    4,5,6
    7,8,9
    10,11,12
    13