一段有序数字按照数学集合方式显示出来
import java.util.ArrayList;
import java.util.List;
public class DemoTest {
public static void main(String[] args) {
int[] data = { 1, 2, 3, 4, 15, 20, 21, 24, 25 };
int start;
int end = 0;
String result0 = "";
String result1 = "";
List<String> result = new ArrayList<String>();
start = data[0];
int i = 1;
if (data.length == 1) {
result.add(start + "");
}
for (; i < data.length - 1; i++) {
if (data[i + 1] - data[i] != 1) {
result0 = "[" + start;
end = data[i];
if (start == end) {
result1 = result0 + "]";
} else {
result1 = result0 + ", " + end + "]";
}
result.add(result1);
start = data[i + 1];
}
}
if (i == data.length - 1 && data[i] - data[i - 1] == 1) {
result0 = "[" + start;
end = data[i];
result1 = result0 + ", " + end + "]";
result.add(result1);
} else if (i == data.length - 1 && data[i] - data[i - 1] != 1) {
result1 = "[" + data[i] + "]";
result.add(result1);
}
System.out.println(result);
}
}
输出实现结果:
[[1, 4], [15], [20, 21], [24, 25]]