大家帮帮忙,如何从一组数字取出连续的数字?100分哈 0 1 2 4 5 6 9 10取出来变成这样0-24-69-10 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public static void main(String[] args) throws Exception { int[] arr = new int[]{0,1,2,4,5,6,9,10}; String s = "" + arr[0]; int last = arr[0]; for(int i = 1; i < arr.length;i++){ if(arr[i] - last == 1){ ; }else{ System.out.println(s + "-" + last); s = "" + arr[i]; } last = arr[i]; } if(!s.equals("" + last)){ System.out.println(s + "-" + last); }}大概这个思路,楼主根据情况改改吧. int []a={0,1,2,4,5,6,9,10}; for (int i = 0; i < a.length; i++) { if(i==0) { System.out.print(a[i]+"-"); } else if(a[i]==a[i-1]+1) { if(i<a.length-1) continue; else System.out.println(a[i]); } else { System.out.println(a[i-1]); System.out.print(a[i]+"-"); } } public class Test03 { static final int[] arr = new int[] { 0, 1, 2, 4, 5, 6, 9, 10 }; public static void main(String[] args) { takeOut(arr); } static void takeOut(int[] arr) { //假设数组是连续的 int start = 0, end = start; for (int i = 1; i < arr.length; ++i) { if (arr[i] - arr[end] == 1) { end = i; } else { System.out.printf("%d-%d\n", arr[start], arr[end]); start = i; end = start; } } //打印最后一组数据 System.out.printf("%d-%d\n", arr[start], arr[end]); }} public class Test { public static void main(String[] args) { int[] i = {0, 1, 2, 4, 5, 6, 9, 10}; int tmp = -1; for (int j = 0; j < i.length; j++) { if (tmp==-1){ tmp=i[j]; System.out.print(tmp+"-"); }else if (tmp+1==i[j]){ tmp=i[j]; }else if(tmp+1<i[j]){ System.out.println(tmp); System.out.print(i[j]+"-"); tmp=i[j]; } if(j==i.length-1){ System.out.println(tmp); } } }} 子类继承父类,能得到父类中的静态内部类吗 求助 如何调用 另外个类 里面 类再下面的 方法 JAVA 虚类简单问题。 at java.lang.ClassLoader.defineClass1(Native Method) 关于文件操作的一个问题 下载的问题,请高手出招!!!!!!!!!!!! 在JAVA中怎么实现 让表格的每列的宽度能根据里面的内容而自动变化? 请教高手 学习何谓入门? 简单的问题关于java 程序的 菜鸟问题:Java名词解释 一个小问题。。 SQL中无法使用条件 IN 进行变量绑定
public static void main(String[] args) throws Exception {
int[] arr = new int[]{0,1,2,4,5,6,9,10};
String s = "" + arr[0];
int last = arr[0];
for(int i = 1; i < arr.length;i++){
if(arr[i] - last == 1){
;
}else{
System.out.println(s + "-" + last);
s = "" + arr[i];
}
last = arr[i];
}
if(!s.equals("" + last)){
System.out.println(s + "-" + last);
}
}
大概这个思路,楼主根据情况改改吧.
int []a={0,1,2,4,5,6,9,10};
for (int i = 0; i < a.length; i++) {
if(i==0)
{
System.out.print(a[i]+"-");
}
else if(a[i]==a[i-1]+1)
{
if(i<a.length-1)
continue;
else
System.out.println(a[i]);
}
else
{ System.out.println(a[i-1]);
System.out.print(a[i]+"-");
}
}
public class Test03 { static final int[] arr = new int[] { 0, 1, 2, 4, 5, 6, 9, 10 }; public static void main(String[] args) {
takeOut(arr);
} static void takeOut(int[] arr) {
//假设数组是连续的
int start = 0, end = start;
for (int i = 1; i < arr.length; ++i) {
if (arr[i] - arr[end] == 1) {
end = i;
} else {
System.out.printf("%d-%d\n", arr[start], arr[end]);
start = i;
end = start;
}
}
//打印最后一组数据
System.out.printf("%d-%d\n", arr[start], arr[end]);
}
}
public static void main(String[] args)
{
int[] i = {0, 1, 2, 4, 5, 6, 9, 10};
int tmp = -1;
for (int j = 0; j < i.length; j++) {
if (tmp==-1){
tmp=i[j];
System.out.print(tmp+"-");
}else if (tmp+1==i[j]){
tmp=i[j];
}else if(tmp+1<i[j]){
System.out.println(tmp);
System.out.print(i[j]+"-");
tmp=i[j];
}
if(j==i.length-1){
System.out.println(tmp);
}
}
}
}