为什么我的代码抛出错误:未报告的异常IOException;必须在 bw.write(s) 被捕获或声明被抛出;

问题描述 投票:0回答:1

Prblm 语句:给定一个整数数组,回答以下形式的查询:[i, j] : 打印从 A[i] 到 A[j] 的数组元素之和

这是我使用的代码:

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

public class Solution {

    public static void main(String[] args) {
        /* Enter your code here. Read input from STDIN. Print output to STDOUT. Your class should be named Solution. */
        Scanner sc=new Scanner(System.in);
        BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
        int n=sc.nextInt();
        long arr[]=new long[n];
        for(int i=0;i<n;i++)
            arr[i]=sc.nextLong();
        long farr[]=new long[n];
        farr[0]=arr[0];
        for(int i=1;i<n;i++)
            farr[i]=farr[i-1]+arr[i];
        int q=sc.nextInt();
        while(q-->0){
            int i=sc.nextInt();
            int j=sc.nextInt();
            if(i!=0){
                //I'm converting long value to String bcoz bw can't write long value in buffer 
                String s=String.valueOf(farr[j]-farr[i-1]);
                bw.write(s);
            }
            else{
                String s=String.valueOf(farr[j]);
                bw.write(s);
            }
        }
        bw.flush();
        bw.close();
    }
}

我尝试了上面的子数组求和问题代码

java ioexception bufferedwriter
1个回答
0
投票

需要在方法签名中添加异常

public static void main(String[] args) throws IOException

© www.soinside.com 2019 - 2024. All rights reserved.