可以怎么改仍然能运行出来

import java.util.Arrays;
import java.util.Scanner;
import java.text.DecimalFormat;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int MLong = sc.nextInt();
int section = sc.nextInt();

int[] arr= new int[MLong+1];
for(int i=0;i0;
}
for(int j=0;jint left = sc.nextInt();
    int right = sc.nextInt();
    for(int cell=left;cell<=right;cell++)
    {
        arr[cell]++;
    }
}
int sum=0;
for(int each=0;each<=MLong;each++)
{
    if(arr[each]==0)
    {
        sum++;
    }
}
System.out.println(sum);

}

public static int CountOdds(int low, int high)
{
    if(low%2==0)
    {
        return (high-low+1)/2;
    }
    else{
        return 1+(high-low)/2;
    }
}
public static double average(int[] salary) {
    Arrays.sort(salary);
    double avg = 0.0;
    for(int i=1;i-1;i++)
    {
        avg+=salary[i];
    }
   return avg/(salary.length-2);
}

public static  int lengthOfLastWord(String s)
{
    int right = s.length()-1;
    int s_length=0;
    int high = right;
    while(right>=0 && s.charAt(right)==' ')
    {
        right--;
        high=right;
    }
    while(high>=0 && s.charAt(high)!=' ')
    {
        s_length+=1;
        high--;
    }
    return s_length;
}

public static String addBinary(String a,String b)
{
    int i = a.length() - 1;
    int j = b.length() - 1;
    int carry = 0;
    StringBuilder builder = new StringBuilder();
    //循环相加两个字符串相同长度的低位数部分
    while (i >= 0 && j >= 0) {
        int sum = carry;
        sum += a.charAt(i--) - '0';
        sum += b.charAt(j--) - '0';
        carry = sum / 2;
        builder.append(sum % 2);
    }
    // 如果 a 还没遍历完成(a串比b串长),则继续遍历添加 a 的剩余部分
    while (i >= 0) {
        int sum = carry + a.charAt(i--) - '0';
        carry = sum / 2;
        builder.append(sum % 2);
    }
    // 如果 b 还没遍历完成(b串比a串长),则继续遍历添加 b 的剩余部分
    while (j >= 0) {
        int sum = carry + b.charAt(j--) - '0';
        carry = sum / 2;
        builder.append(sum % 2);
    }
    //如果 carry 不等于0 还有个进位数没加进去,需要补充
    if (carry == 1) {
        builder.append(carry);
    }
    //反转字符串获得正常结果
    return builder.reverse().toString();
}

}

不知道你这边要实现什么功能,帮你加了个报错处理,可以继续运行


package cn.personal.demo05;
import java.util.Arrays;
import java.util.Scanner;
import java.text.DecimalFormat;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int MLong = sc.nextInt();
        int section = sc.nextInt();

        int[] arr = new int[MLong + 1];
        for (int i = 0; i < MLong; i++) {
            arr[i] = 0;
        }
        System.out.println("我到第一个循环下面了");
        for (int j = 0; j < section; j++) {
            int left = sc.nextInt();
            int right = sc.nextInt();
            for (int cell = left; cell <= right; cell++) {
                try {
                    arr[cell]++;
                } catch (Exception e) {
                }
            }
        }
        System.out.println("我到第二个循环下面了");
        int sum = 0;
        for (int each = 0; each <= MLong; each++) {
            if (arr[each] == 0) {
                sum++;
            }
        }
        System.out.println(sum);

    }

    public static int CountOdds(int low, int high) {
        if (low % 2 == 0) {
            return (high - low + 1) / 2;
        } else {
            return 1 + (high - low) / 2;
        }
    }

    public static double average(int[] salary) {
        Arrays.sort(salary);
        double avg = 0.0;
        for (int i = 1; i < salary.length - 1; i++) {
            avg += salary[i];
        }
        return avg / (salary.length - 2);
    }

    public static int lengthOfLastWord(String s) {
        int right = s.length() - 1;
        int s_length = 0;
        int high = right;
        while (right >= 0 && s.charAt(right) == ' ') {
            right--;
            high = right;
        }
        while (high >= 0 && s.charAt(high) != ' ') {
            s_length += 1;
            high--;
        }
        return s_length;
    }

    public static String addBinary(String a, String b) {
        int i = a.length() - 1;
        int j = b.length() - 1;
        int carry = 0;
        StringBuilder builder = new StringBuilder();
        // 循环相加两个字符串相同长度的低位数部分
        while (i >= 0 && j >= 0) {
            int sum = carry;
            sum += a.charAt(i--) - '0';
            sum += b.charAt(j--) - '0';
            carry = sum / 2;
            builder.append(sum % 2);
        }
        // 如果 a 还没遍历完成(a串比b串长),则继续遍历添加 a 的剩余部分
        while (i >= 0) {
            int sum = carry + a.charAt(i--) - '0';
            carry = sum / 2;
            builder.append(sum % 2);
        }
        // 如果 b 还没遍历完成(b串比a串长),则继续遍历添加 b 的剩余部分
        while (j >= 0) {
            int sum = carry + b.charAt(j--) - '0';
            carry = sum / 2;
            builder.append(sum % 2);
        }
        // 如果 carry 不等于0 还有个进位数没加进去,需要补充
        if (carry == 1) {
            builder.append(carry);
        }
        // 反转字符串获得正常结果
        return builder.reverse().toString();
    }
}

img