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();
}
}