java数组问题(键盘输入5个数,将它们存储于数组a中)

键盘输入5个数,将它们存储于数组a中,并显示数组a中的所有数据。然后求数组a中所有数据的和。
程序写出来了
import java.io.*;
import java.util.Scanner;

public class no1 {

public static void main(String[] args)
{
System.out.print("请输入5个数:");
Scanner sc = new Scanner(System.in);

String str = sc.next();

String s[] = str.split(" ");//空格分隔

int[] arr = new int[s.length];
int zh = 0;
for(int i=0; i<arr.length; i++) {

arr[i] = Integer.parseInt(s[i]);

}
for(int i=0;i<arr.length;i=i+1)
{
System.out.println("a["+1+"]="+arr[i]);
zh+=arr[i];
System.out.println("五个数字和为"+zh);
}
}
}
问题是当我输入5个数后按回车系统只会显示出第一个数并对第一个数求和,而不是显示5个数,求解
String str = sc.next();
这句改为
String str = sc.nextLine();
这样就能把你输入的5个数读进去了。胡好明。。

希望裤告袜亮能帮到你。。。。