gpt4 book ai didi

java - 打印连续数字

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:38:47 25 4
gpt4 key购买 nike

我已经对整数数组 {1,2,3,7,9,24,25,26,78} 进行了排序,并希望连续打印以打印 {1-3,7,9,24-26,78} .也就是说,每当数组中出现一组连续的数字时,我想打印出从最小数到最大数的范围。

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
class Consecutive{

public static void main(String[] args){
int[] a={1,2,3,7,9,24,25,26,78};

for(int i=0;i<a.length;i++){
int count=0;
int first=0;

/* System.out.println(i);*/
first=a[i];

if(a[i+1]-a[i]==1){

count++;

int last=a[i]+count;
i++;
System.out.println(first + " " + last);

}else{


System.out.println(a[i]);

}

}
}
}

最佳答案

你可以这样做:

    if(a.length>0) {            
int i=0,j=0;
do{
j=i+1;
while(j<a.length){
if(a[j]-a[i]!=j-i)
break;
j++;
}
if(i==j-1)
System.out.println(a[i]);
else
System.out.println(a[i] + "-" + a[j-1]);
i=j;
}while(i<a.length);
}

希望对你有帮助。

关于java - 打印连续数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36963019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com