当前位置:编程学习 > JAVA >>

字符串分割问题

数据库long类型 值123456




第一步:用”;“分号分割long类型
结果输出:1,2,3,4,5,6

第二步:

查询科目表 1对应语文  2对应数学  3对应英语 4 对应政治  5对应地理 6对应化学

结果输出: 语文,数学,英语,政治,地理,化学


for(EvanModel erm : elist){
SubjectModel s=this.getSubjectService().findById(erm.getToUser());



下面怎么写啊 --------------------编程问答-------------------- 第一步为什么要用,分割呢? --------------------编程问答-------------------- 可以把long类型的数据加上一个空字符串就变成一个"123456"的字符串类型的数据,然后有个toCharArray()方法,把字符串数据转化成字符数组,然后从字符数组中获取每个对应的字符就可以了。 --------------------编程问答--------------------

Long long1 = 123456L;
String string =long1+"";
char[] cha = string.toCharArray();
for (int i = 0; i < cha.length; i++)
{   
if (i != cha.length-1)
{
System.out.print(cha[i]+",");
}else {
System.out.print(cha[i]);
}

}
--------------------编程问答--------------------
引用 3 楼 Partys 的回复:

Long long1 = 123456L;
String string =long1+"";
char[] cha = string.toCharArray();
for (int i = 0; i < cha.length; i++)
{   
if (i != cha.length-1)
{
System.out.print(cha[i]+",");
}else {
System.out.print(cha[i]);
}

}

132 输出的结果是语文英语数学

索引是从0开始的123456

可是我现在要求1就输出语文3就输出英语2就输出数学

按照索引值输出应该就不对了 --------------------编程问答--------------------
引用 4 楼 zhangxianya1 的回复:
Quote: 引用 3 楼 Partys 的回复:


Long long1 = 123456L;
String string =long1+"";
char[] cha = string.toCharArray();
for (int i = 1; i < cha.length+1; i++)
{   
if (i != cha.length)
{
System.out.print(cha[i]+",");
}else {
System.out.print(cha[i]);
}

}

132 输出的结果是语文英语数学

索引是从0开始的123456

可是我现在要求1就输出语文3就输出英语2就输出数学

按照索引值输出应该就不对了

不会变通一下??? --------------------编程问答--------------------
引用 4 楼 zhangxianya1 的回复:
Quote: 引用 3 楼 Partys 的回复:


Long long1 = 123456L;
String string =long1+"";
char[] cha = string.toCharArray();
for (int i = 0; i < cha.length; i++)
{   
if (i != cha.length-1)
{
System.out.print(cha[i]+",");
}else {
System.out.print(cha[i]);
}

}

132 输出的结果是语文英语数学

索引是从0开始的123456

可是我现在要求1就输出语文3就输出英语2就输出数学

按照索引值输出应该就不对了
大哥你不会+1啊,变一下就好了啊、、对应的问题你就写if判断 啊。。。。 --------------------编程问答--------------------
引用 4 楼 zhangxianya1 的回复:
Quote: 引用 3 楼 Partys 的回复:


Long long1 = 123456L;
String string =long1+"";
char[] cha = string.toCharArray();
for (int i = 0; i < cha.length; i++)
{   
if (i != cha.length-1)
{
System.out.print(cha[i]+",");
}else {
System.out.print(cha[i]);
}

}

132 输出的结果是语文英语数学

索引是从0开始的123456

可是我现在要求1就输出语文3就输出英语2就输出数学

按照索引值输出应该就不对了
 你太死板了吧! --------------------编程问答-------------------- 变成字符串再进行操作。 --------------------编程问答-------------------- 我不是这个意思

数据库中的字段值:132 输出的结果是语文英语数学

索引是从0开始的123456

可是我现在要求1就输出语文3就输出英语2就输出数学

按照索引值输出应该就不对了

132分别是科目表的id 1代表语文 3代表英语 2 代表数学;;索引是从0开始的123456可是现在是123输出结果 根本不是我想要的 我要的输出结果是132 明白不

--------------------编程问答-------------------- 就是按照数据库中的值依依输出 而是按照索引排下来的
--------------------编程问答--------------------
引用 楼主 zhangxianya1 的回复:
数据库long类型 值123456




第一步:用”;“分号分割long类型
结果输出:1,2,3,4,5,6

第二步:

查询科目表 1对应语文  2对应数学  3对应英语 4 对应政治  5对应地理 6对应化学

结果输出: 语文,数学,英语,政治,地理,化学


for(EvanModel erm : elist){
SubjectModel s=this.getSubjectService().findById(erm.getToUser());



下面怎么写啊

变字符串再操作就容易了 --------------------编程问答-------------------- 说说我的思路

添加数据的时候1表示1班 2 表示2。。。。。15表示15班
 
数据库中的存的类型是long类型


然后读取这个long类型 例如 Long str="12334235345";
Long str="12334235345";用逗号每次循环加一个逗号  可是单个数 可以 双数就不知道怎么写  逗号怎么个分割法

越想越不对劲

怎么知道他是单数(1位数) 还是双数(2位数)


public class CopyOftt {

/**
 * @param args
 */
public static void main(String[] args) {
String str="15234556610";
String p=null;
System.out.print("str长度为:"+str.length()+"\n");
for(int i=1;i<str.length()+1;i++){ 
}
for(int j=0;j<str.length();j++){
String k=str.substring(j, (str.length())- ( (str.length())-(j+1)   )  );
//如果k=0则在前面追加1  表示10
if(k.equals("0")){
k="1"+k;
}
p=(j+";").replace(j+";", "初一"+k+"班;");
System.out.print(p);
}
System.out.print(p.replace(p, "初一各班;"));



}

}
控制台打印:
str长度为:11
初一1班;初一5班;初一2班;初一3班;初一4班;初一5班;初一5班;初一6班;初一6班;初一1班;初一10班;初一各班;

--------------------编程问答--------------------
引用 12 楼 zhangxianya1 的回复:
说说我的思路

添加数据的时候1表示1班 2 表示2。。。。。15表示15班
 
数据库中的存的类型是long类型


然后读取这个long类型 例如 Long str="12334235345";
Long str="12334235345";用逗号每次循环加一个逗号  可是单个数 可以 双数就不知道怎么写  逗号怎么个分割法

越想越不对劲

怎么知道他是单数(1位数) 还是双数(2位数)


public class CopyOftt {

/**
 * @param args
 */
public static void main(String[] args) {
String str="15234556610";
String p=null;
System.out.print("str长度为:"+str.length()+"\n");
for(int i=1;i<str.length()+1;i++){ 
}
for(int j=0;j<str.length();j++){
String k=str.substring(j, (str.length())- ( (str.length())-(j+1)   )  );
//如果k=0则在前面追加1  表示10
if(k.equals("0")){
k="1"+k;
}
p=(j+";").replace(j+";", "初一"+k+"班;");
System.out.print(p);
}
System.out.print(p.replace(p, "初一各班;"));



}

}
控制台打印:
str长度为:11
初一1班;初一5班;初一2班;初一3班;初一4班;初一5班;初一5班;初一6班;初一6班;初一1班;初一10班;初一各班;

话说你存String类型的不行?String str="1,2,33,4,23,5,34,5" 完事分割的时候用splite根据","分割得到一个数组 --------------------编程问答-------------------- Long str="12334235345";在该表中是外键的id,而且外键的id是long类型的 的地方都用到了  改起来的话 很麻烦  牵扯的地方太多啊  
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,