public class test05 {
public static void main(String[] args) {
String str ="张三:20|李四:21|王五:22";
String result[]=str.split("\\|");
for(int x=0;x<result.length;x++) {
String temp[]=result[x].split(":");
System.out.println("姓名:"+temp[0]+",年龄:"+temp[1]);
}
}
}
我想请教一下各位大佬,为什么这段代码在运行不了啊?要怎么修改才能顺利运行啊?求求了,救救孩子吧。。。
符号不对,因为张三:20|李四:21|王五:22 里面用的是中文的冒号,你分割用的是英文冒号,所以,分割的数组里为null,你通过下标找数据,肯定报错。
String temp[]=result[x].split(":"); 这个里面的你是以英文分号":"进行分割的,而你的str中是以中文“:”分割的,所以temp[1]就会数组越界
看你输出的代码 temp[0]后面的 " + " 号要放在双引号外面
看你输出的代码 temp[0]后面的 " + " 号要放在双引号外面
等下 看错了
你发出来的代码没有问题.
如果这个只单跑这一个main方法报数组下标越界的话 .只有一种可能 你在什么数组str 中用的 " : "号和 split分割时用的 " : "一个是中文的 一个是英文的 .你可以改改试试..