这是一个简单的函数,应该返回数组元素(整数)的总和.约束条件是,不应有负整数,并且每个元素的值应小于1000.
public class Solution {
static int simpleArraySum(int[] ar, int arCount) {
int res=0;
if(arCount>=0){
for (int i=0; i<=arCount; i++){
if (ar[i]<1000){
res += i;
}
}
}
return res;
}
我写的函数到此结束.其余代码如在Hackerrank上所示
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 = Integer.parseInt(scanner.nextLine().trim());
int[] ar = new int[arCount];
String[] arItems = scanner.nextLine().split(" ");
for (int arItr = 0; arItr < arCount; arItr++) {
int arItem = Integer.parseInt(arItems[arItr].trim());
ar[arItr] = arItem;
}
int result = simpleArraySum(ar, arCount);
bufferedWriter.write(String.valueOf(result));
bufferedWriter.newLine();
bufferedWriter.close();
}
}
对于输入6(数组大小)和1,2,3,4,10,11(数组元素),代码返回21而不是31.我不明白为什么这样做.