我写的代码有一些繁琐,你可以参考一下,期待你的优化- import java.util.Arrays;
-
- public class Demo4 {
-
- /**
- * 给定一个int数组,写一个函数判断该数组中的所有数字是否能组成连续数字。
- * 如[1,3,4,6,2,5]能组成连续数字,【1,2,5,4,7】不能。数组中的数也可能重复
- */
- public static void main(String[] args) {
- int[] arr={1,3,4,6,2,5};
- Arrays.sort(arr); //将数组从小到大重新排列
- int begin=arr[0]; //设置判断连续数组的起始位
- boolean flag=true; //是否连续的标志位
- for(int i=0;i<arr.length;i++){
- if(arr[i]!=(begin+i)){ //判断arr[i]是否与begin+i相等,不等为非连续的
- System.out.println("数组非连续的");
- flag=false;
- break;
- }
- }
- if(flag==true){
- System.out.println("数组是连续的");
- }
- }
-
- }
复制代码 |