Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 尝试将逗号分隔字符串作为输入循环arraylist时出错_Java_String_Arraylist - Fatal编程技术网

Java 尝试将逗号分隔字符串作为输入循环arraylist时出错

Java 尝试将逗号分隔字符串作为输入循环arraylist时出错,java,string,arraylist,Java,String,Arraylist,我收到错误:线程“main”java.lang.ArrayIndexOutOfBoundsException中的异常:索引1超出了第5.TestMain.main(TestMain.java:51)节中长度1的界限。 公共类TestMain{ 公共静态void main(字符串[]args)引发异常{ 扫描仪sc=新的扫描仪(System.in); System.out.println(“输入装运详细信息:”); 字符串userDetail=sc.nextLine(); 字符串userDetai

我收到错误:
线程“main”java.lang.ArrayIndexOutOfBoundsException中的异常:索引1超出了第5.TestMain.main(TestMain.java:51)节中长度1的界限。

公共类TestMain{
公共静态void main(字符串[]args)引发异常{
扫描仪sc=新的扫描仪(System.in);
System.out.println(“输入装运详细信息:”);
字符串userDetail=sc.nextLine();
字符串userDetailParts[]=userDetail.split(“,”);
//System.out.println(Arrays.toString(userDetailParts));
装运=新装运();
SimpleDataFormat sdf=新的SimpleDataFormat(“dd-MM-yyyy”);
shipping.setid(userDetailParts[0]);
装运。设置装运港(userDetailParts[1]);
Shipping.setdestinationPort(userDetailParts[2]);
setexpectedDeliveryDate(sdf.parse(userDetailParts[3]);
Shipping.setcustomerName(userDetailParts[4]);
System.out.println(“输入装运状态的编号:”);
int n=sc.nextInt();
SimpleDataFormat sdf1=新的SimpleDataFormat(“dd-MM-yyyy”);
对于(int i=1;i而言,问题在于:

String userDetail1 = sc.next();
String userDetailParts1[] = userDetail1.split(",");
以及:

sc.next()将捕获单个字符串标记,因此为“Hong”。
我想你想要sc.nextLine()。

尝试使用字符串userDetail1=sc.nextLine();而不是字符串userDetail1=sc.next();。next将在Hong停止,因为它后面有空格。有用:要在更改后面对问题,请参见是,由
int n=sc.nextInt();
产生的未使用的\n,然后循环条件不好(和循环是无用的)我们是否试图解决他的程序中的每一个问题或者回答他的问题?如果我使用SC.NestRealLe(),输出如下显示。输入装运细节:Stutu01,香港,交趾,20-05-2017,KARTHOST输入出货状态的数量:3进入装运状态1细节:输入货件状态2细节:
String userDetail1 = sc.next();
String userDetailParts1[] = userDetail1.split(",");
Hong Kong,Kolkata,17-05-2017,arrived