≈佐

—— 有恒则成。

统计

最新评论

一个关于数组的

1-10 这十个数字  要求分成若干组,每组七个数字。每组内部的数字不能重复,组与组之间的七个数字不能完全相同。


import java.util.Arrays;

public class Seven {

    
/**
     * 
@author cqusnail
     
*/
    
public static void main(String[] args) {
        
        Seven s 
= new Seven();    

        
        
int t = 0;
        
int[] r;
        
int[][] rr = new int[200][7];
        
        again:
        
//理论上只能生成120组,当然为了检验,你也可以把 t 的上限设大一些
        while(t<120)
        {        

            r 
= s.s_Sort();
            
//比较新产生的数组与已经存在的数组中的元素是否相等
            for(int e =0;e<t+1;e++)
            {
                
                
//比较新产生的数组与当前的数组是否相等
                
                    
if(Arrays.equals(r, rr[e]))
                        
continue again;
                    
             }
            
//如果产生的数组与已经存在的数组不相等,则放入rr数组,并打印
            
            {
                rr[t]
=r;
                
                System.out.print(
" 第 "+t+" 组    ");
                
for(int p=0;p<7;p++)
                {
                    System.out.print(
" "+r[p]+"  ");
        
                }
            }
            
             System.out.println();
             t
++;
                    
        }
    }
    
//产生一组七个数字,每组内部的数字不能重复,并且排好序
    private int[] s_Sort()
    {
        
int[] str = new int[7];
        
int[] a = new int[10];
        
int temp = 10;
        
int temp2;
        
        
for(int j=0;j<10;j++)
        {
            a[j]
=j+1;
        }                
          
        
for(int i=0;i<7;i++)
            
        {
            
            temp2 
= (int)(Math.random()*temp);
            str[i]
= a[temp2];
            
for(int k=temp2;k<temp-1;k++)
            {
                a[k]
=a[k+1];
            }
            temp
--;
            
        }
        
        Arrays.sort(str);        
        
        
return str; 
    }

}

posted on 2008-10-05 18:17 ≈佐 阅读(64) 评论(0)  编辑  收藏 所属分类: J2SE练习册