面試題:陣列按列排序的問題

zhaosoft1982發表於2010-04-01

今天面試時遇到這樣一個問題,即每月的天數按照下列方式顯示:

 1   12  23
 2   13  24
 3   14  25
 4   15  26
 5   16  27
 6   17  28
 7   18  29
 8   19  30
 9   20  31
10  21 
11  22

 

實現方式:因為要求顯示3列,所以實現方式是這樣:

public static void main(String[] args) {
  
  List list=new ArrayList();
  
  for(int i=1;i<=31;i++){
   list.add(i);
  }
  int rows=0;
  if(list.size()%3>0){
   rows=list.size()/3+1;
  }else{
   rows=list.size()/3;
  }

  for(int i=1;i<=rows;i++){
   if((2*rows)+i<=list.size()){
    System.out.println(i+"  "+(rows+i)+"  "+(2*rows+i));
   }else{
    System.out.println(i+"  "+(rows+i)+"  ");
   }
   
  }
 }

不知道方法是否是最好的,希望大家多提意見。

相關文章