java循环保存的问题
我现在要保存一组数据到数据库,这是一串字符串str,中间用"|"分割,然后我用split把str中的"|"给去掉了,生成了数组strings[],数据库的那个表有2个字段...
我现在要保存一组数据到数据库,这是一串字符串str,中间用"|"分割,然后我用split把str中的"|"给去掉了,生成了数组string s[] ,数据库的那个表有2个字段,我想让这个数组的单数保存在第一个字段,双数保存在第二个字段,然后这样为一条数据,下面又来保存第二条数据。请大家帮我想个办法。。。
展开
7个回答
展开全部
通杀方式,不论每条数据几个"|"分割
public void splitData(List<String> data){
for (Iterator iterator = data.iterator(); iterator.hasNext();) {
String s = (String) iterator.next();
String[] arr = s.split("|");
StringBuffer odd = new StringBuffer();
StringBuffer even = new StringBuffer();
for (int i = 0; i < arr.length; i++) {
if(i%2==1){
even.append(arr[i]);
}else{
odd.append(arr[i]);
}
}
// ......insert(even).....
// ......insert(odd).....
}
}
public void splitData(List<String> data){
for (Iterator iterator = data.iterator(); iterator.hasNext();) {
String s = (String) iterator.next();
String[] arr = s.split("|");
StringBuffer odd = new StringBuffer();
StringBuffer even = new StringBuffer();
for (int i = 0; i < arr.length; i++) {
if(i%2==1){
even.append(arr[i]);
}else{
odd.append(arr[i]);
}
}
// ......insert(even).....
// ......insert(odd).....
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
String[] s = new String[] { "a", "b", "c", "d" };
for (int i = 0; i < s.length / 2; i++) {
String sql = "insert table (col1,col2) values ('" + s[i*2] + "','"
+ s[i*2 + 1] + "')";
System.out.println(sql);
}
输出
insert table (col1,col2) values ('a','b')
insert table (col1,col2) values ('c','d')
for (int i = 0; i < s.length / 2; i++) {
String sql = "insert table (col1,col2) values ('" + s[i*2] + "','"
+ s[i*2 + 1] + "')";
System.out.println(sql);
}
输出
insert table (col1,col2) values ('a','b')
insert table (col1,col2) values ('c','d')
追问
我是调用保存的方法的
City city=new City();
String citycode[]=str.split("|");
for (int i = 0; i < citycode.length/2; i++) {
city.setId(Integer.parseInt(citycode[i*2]));
String cityname = citycode[i*2+1];
city.setName(cityname);
cityService.save(city);
}
这样可以吗?
追答
因该可以 如果不行 把报错给我看看
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//新建一个相同大小的数组来标识相同下标下的数据是否已经取出
//依次遍历数组
取一个未取出的单数,并置标识位为取出
取一个取出的双数,并置标识位为取出,
组成记录
/、
直到无法取出记录
//依次遍历数组
取一个未取出的单数,并置标识位为取出
取一个取出的双数,并置标识位为取出,
组成记录
/、
直到无法取出记录
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用循环搞定。
DB 第一个字段= string[0]+“想要的分隔符”+string[2]+.....
DB第二个字段 = string[1]+“想要的分隔符”+string[3]+.....
从DB中读取时,在反向思维拼凑回原来的字符串。
望有所帮助。
DB 第一个字段= string[0]+“想要的分隔符”+string[2]+.....
DB第二个字段 = string[1]+“想要的分隔符”+string[3]+.....
从DB中读取时,在反向思维拼凑回原来的字符串。
望有所帮助。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
String s = "1|2|3|4|5|6|7|8|9|0";
String[] ss = s.split("\\|");
StringBuffer sBuffer = new StringBuffer();
for(int i=0;i<ss.length;i++){
if(i%2==0){
sBuffer.delete(0, sBuffer.length());
}
sBuffer.append(ss[i]+"-");
if(i%2==1){
System.out.println("数据"+sBuffer);
}
}
打印:
数据1-2-
数据3-4-
数据5-6-
数据7-8-
数据9-0-
String[] ss = s.split("\\|");
StringBuffer sBuffer = new StringBuffer();
for(int i=0;i<ss.length;i++){
if(i%2==0){
sBuffer.delete(0, sBuffer.length());
}
sBuffer.append(ss[i]+"-");
if(i%2==1){
System.out.println("数据"+sBuffer);
}
}
打印:
数据1-2-
数据3-4-
数据5-6-
数据7-8-
数据9-0-
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询