java 无序数字,生成连号代码
时间: 2024-05-03 13:20:03 浏览: 88
以下是生成连号的 Java 代码:
```java
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] nums = {4, 2, 7, 6, 5, 1, 3}; // 无序数字
Arrays.sort(nums); // 对数组进行排序
int start = nums[0]; // 记录连号的起始数字
int count = 1; // 记录连号的数量
for (int i = 1; i < nums.length; i++) {
if (nums[i] == nums[i - 1] + 1) { // 如果当前数字与前一个数字相差为1,表示连号
count++; // 连号数量加1
} else { // 如果不是连号
if (count > 1) { // 如果之前有连号
System.out.println(start + "-" + nums[i - 1]); // 输出连号范围
} else { // 如果之前没有连号
System.out.println(nums[i - 1]); // 直接输出单个数字
}
start = nums[i]; // 更新连号的起始数字
count = 1; // 连号数量重新计数
}
}
if (count > 1) { // 处理最后一段连号
System.out.println(start + "-" + nums[nums.length - 1]);
} else {
System.out.println(nums[nums.length - 1]);
}
}
}
```
假设有一个无序数字数组 `{4, 2, 7, 6, 5, 1, 3}`,首先对数组进行排序,得到 `{1, 2, 3, 4, 5, 6, 7}`。接着从第二个数字开始遍历数组,如果当前数字与前一个数字相差为1,表示连号数量加1,否则输出之前的连号范围或者单个数字,并更新连号的起始数字和数量。最后处理最后一段连号,输出连号范围或者单个数字。运行上述代码,输出结果为:
```
1-7
```
阅读全文