从值列表生成范围

时间:2015-10-01 22:31:32

标签: java

我有一个数字列表如下

1,2,4,5,6,10

我希望结果如下

1-2,4-6,10-10

任何想法(在java中)?

2 个答案:

答案 0 :(得分:0)

您可以使用for循环遍历列表

int[] array = {1,2,4,5,6,10};
for(int i = 0; i < array.length; i++)
{
  // write your code
}

答案 1 :(得分:0)

int n[]={1,2,4,5,6,10};
int len=n.length-1;
String startRange = "";
String endRange = "";

for (int k = 0; k<=len;k++)
        {
            startRange = String.valueOf(n[k]);

            for (int l = k; l<len;l++)
            {
                if (n[l+1]-n[l]!=1)
                {
                    endRange = String.valueOf(n[l]);
                    k=l;
                    break;
                }
                if (l==len-1)
                {
                    endRange = String.valueOf(n[l+1]);
                    k=l+1;
                    break;
                }
            }
            if (k==len)
            {
                endRange = String.valueOf(n[k]);
            }
            System.out.println("Range :: " + startRange + "," + endRange);              
        }