我正在做Hackerrank的问题,以便更好地解决难题。我已经在数据结构部分中处理了简单求和数组问题近2小时O_O
我认真地认为我解决了它,因为我在Mac上的终端上测试了它并且运行正常但是当我在Hackerrank中提交代码时,它失败了所有3个测试用例T_T
我不明白问题出在哪里以及测试用例失败的原因。有谁看到这个问题?请帮忙。
以下是代码:
import java.io.*;
import java.util.*;
public class Solution {
public static int sumArray( int[] arr ){ //arr stands for the array to pass in
int result = 0;
for (int i = 0; i < arr.length; i++){
result = result + arr[i];
}
return result;
}
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 input = new Scanner(System.in);
System.out.println("Print out the size of the array: ");
int size = input.nextInt();
int[] array = new int[size];
System.out.println("Type out the numbers you want in the array. One line only, each number is separated by a space");
String numbers = null;
String[] splitString = null;
while ( input.hasNextLine() ){
numbers = input.nextLine();
splitString = numbers.split("\\s");
if (splitString.length == size){
break;
}
}
//splitString = numbers.split("\\s");
int i = 0;
for (String s : splitString){
//System.out.println(s);
array[i] = Integer.parseInt(s);
i++;
}
System.out.println( sumArray(array) );
}
}
此外,这里是Hackerrank的问题,以澄清他们想要的东西:
给定一个整数数组,你能找到它的元素之和吗?
输入格式:
第一行包含一个整数,表示数组的大小。 第二行包含空格分隔的整数,表示数组的元素。
输出格式:
将数组元素的总和打印为单个整数。
示例输入:
6
1 2 3 4 10 11
示例输出:
31
答案 0 :(得分:-2)
从第一次看到您的代码时,您有两个问题:
1- arr.length should be arr.length - 1
因为,你的迭代从0开始,而长度不是
2- the way you print your array is wrong
因为,你应该使用这样的东西:
Arrays.toString(array)