gpt4 book ai didi

java - 获取输入时扫描仪抛出 java.util.NoSuchElementException

转载 作者:行者123 更新时间:2023-11-30 02:02:55 24 4
gpt4 key购买 nike

下面的代码在函数 aVeryBigSum 中抛出 NoSuchElementException。PS:这是来自hackerrank的任务,所以我只能修改函数中的代码:aVeryBigSum

该函数接受以下输入:n(数组中要添加的元素数量)以及数组的元素。

import java.io.*;
import java.math.*;
import java.security.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.regex.*;

public class Solution {

// Complete the aVeryBigSum function below.
static long aVeryBigSum(long[] ar) {
int n, sum = 0;
Scanner read = new Scanner(System.in);
n = read.nextInt();
for(int i = 0; i < n; i++)
sum += read.nextLong();
return sum;
}

private static final Scanner scanner = new Scanner(System.in);

public static void main(String[] args) throws IOException {
BufferedWriter bufferedWriter
= new BufferedWriter(new FileWriter(System.getenv("OUTPUT_PATH")));

int arCount = scanner.nextInt();
scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");

long[] ar = new long[arCount];

String[] arItems = scanner.nextLine().split(" ");
scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");

for (int i = 0; i < arCount; i++) {
long arItem = Long.parseLong(arItems[i]);
ar[i] = arItem;
}

long result = aVeryBigSum(ar);

bufferedWriter.write(String.valueOf(result));
bufferedWriter.newLine();

bufferedWriter.close();

scanner.close();
}
}

输出: enter image description here

最佳答案

为什么要在 aVeryBigSum 方法中读取 Scanner 内容?

只需循环 ar 参数并计算总和。

static long aVeryBigSum(long[] ar) {
long _sum = 0;
for(int i=0; i < ar.length; i++)
sum += ar[i];
return _sum;
}

关于java - 获取输入时扫描仪抛出 java.util.NoSuchElementException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52220063/

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