java高手来帮帮我

来源:百度知道 编辑:UC知道 时间:2024/06/22 22:23:51
一个字符串,用逗号分隔许多整数,比如: "14,2, 13,4,5,6,7,8,9,11,3",输出为这样的字符窜(连续的数字用’-’表示),例如: "2-9,11,13-14" java代码怎么写!急

public class Test {
public static void main(String[] args) {
String string = "14,2,13,4,5,6,7,8,9,11,3";
String[] strs = string.split(",");

int[] nums = new int[strs.length];
for (int i = 0; i < strs.length; i++) {
nums[i] = Integer.parseInt(strs[i]);
}

Arrays.sort(nums);

StringBuilder sb = new StringBuilder();
sb.append(nums[0]);
for (int i = 1; i < nums.length; i++) {
if (nums[i] == nums[i - 1] + 1) {
if (sb.charAt(sb.length() - 1) == ',') {
sb.append(nums[i - 1]);
}
if (sb.charAt(sb.length() - 1) != '-') {
sb.append("-");
}
} else {
sb.append(nums[i - 1]).append(",");
}
}
sb.append(nums[nums.length - 1]);
System.out.println(sb.toString());
}
}

用StringTokenizer 分割字符串..java.util.StringTokenizer