JSP程序中的小问题 高手快帮忙啊~!~!~!!~

belover 2004-12-11 06:23:49
一个字符串 是从数据库里提出来的 nullc10,1##c11,3##c13,4##c15,8##c14,6
我现在要把 其中的 1 3 4 8 6 也就是 , 和## 中间的数字
都分解出来 相加求和~!
工程很着急 我在线等啊
~!~!~!~!
...全文
332 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
iwish100000 2004-12-12
  • 打赏
  • 举报
回复
结了
xtduwei 2004-12-12
  • 打赏
  • 举报
回复
怎么发表啊,快死了
ooponline 2004-12-12
  • 打赏
  • 举报
回复
raulwang(小狗的强) ( )
为什么要 ii=i+2;呢?不可以ii=i+1;吗?或者是ii=i+6;吗?

呵呵,看来你还没看明白,其实楼主只是用他来确定下一个“,”出现的位置,这个数字从1到7都不影响程序的正常运行,只要不超过最长的一个字符串就行了,否则会漏过“,”。

不过我还是想问楼主,这段程序和你的初衷好象不太相同啊。
xitianjile 2004-12-12
  • 打赏
  • 举报
回复
万一##号前是3个以上的数字
那么就是个死循环..
xitianjile 2004-12-12
  • 打赏
  • 举报
回复
哈哈
居然那样就是解决了
要是##前是2个数字呢?
还有万一就是##号前不是数字.
这些都没考虑到.
air82 2004-12-11
  • 打赏
  • 举报
回复
我觉得最好还是用StringTokenizer吧。。。。有现成的何必这么麻烦呢。。。
raulwang 2004-12-11
  • 打赏
  • 举报
回复
int i=0,ii=0;
int count=0;

int sum=0;
String s="nullc10,1##c11,3##c13,4##c15,8##c14,6";
while(((i=s.indexOf(",",ii))!=-1)) {
count=i+1;
ii=i+2;
sum+=Integer.parseInt(s.substring(count,count+1));
out.println(sum);

}
为什么要 ii=i+2;呢?不可以ii=i+1;吗?或者是ii=i+6;吗?
Sunboyjava 2004-12-11
  • 打赏
  • 举报
回复
点管理就知道怎么做了... 呵呵.
belover 2004-12-11
  • 打赏
  • 举报
回复
各位大哥,怎么给分啊 回复我给你20分
belover 2004-12-11
  • 打赏
  • 举报
回复
int i=0,ii=0;
int count=0;

int sum=0;
String s="nullc10,1##c11,3##c13,4##c15,8##c14,6";
while(((i=s.indexOf(",",ii))!=-1)) {
count=i+1;
ii=i+2;
sum+=Integer.parseInt(s.substring(count,count+1));
out.println(sum);

}
问题解决了 谢谢各位朋友帮忙 ~!
Sunboyjava 2004-12-11
  • 打赏
  • 举报
回复
nullc10,1##c11,3##c13,4##c15,8##c14,6
你的字符串都是,1##这咱规律吗 如果是那就好做了...
直接找到","然后取下一个字符再转换成数据值相加不就行了?







belover 2004-12-11
  • 打赏
  • 举报
回复
"nullc10","1##c11","3##c13","4##c15","8##c14","6"

"nullc10,1##c11,3##c13,4##c15,8##c14,6";
你改了 ?!~?!?~!
我从库里提的 大哥
xitianjile 2004-12-11
  • 打赏
  • 举报
回复
谢谢了
原来是如此.
不过你的程序确实还是个死循环.
while(((i=s.indexOf(",",i))!=-1)&&((j=s.indexOf("##",j))!=-1)) {
可否考虑
i++;
j++;
}
jFresH_MaN 2004-12-11
  • 打赏
  • 举报
回复
呵呵,楼上的可能是搞错了
indexOf(String ,int );
第二个参数是指从那个位置往后找
xitianjile 2004-12-11
  • 打赏
  • 举报
回复
substring都是小写的

但是我想说一句 jFresH_MaN()(AbsolutelyFresh)(java欣人)
写的在jdk1.4下是死循环.至于为什么是死循环.
我也说不清楚.我没弄清楚indexOf(String ,int );的作用.反正不过Int参数不管是什么.都是返回第一个.
有一个地方写错了.
改一下.
s.substring(i+1,j);
其他环境下我就不知道了..
jFresH_MaN 2004-12-11
  • 打赏
  • 举报
回复
Substring
->
subString
我没写错啊
belover 2004-12-11
  • 打赏
  • 举报
回复
An error occurred at line: 2 in the jsp file: /ff.jsp

Generated servlet error:
[javac] Compiling 1 source file

D:\Tomcat 4.1\work\Standalone\localhost\_\ff_jsp.java:50: cannot resolve symbol
symbol : method Substring (int,int)
location: class java.lang.String
sum+=Integer.parseInt(s.Substring(i,j));
程序报错 显示 如上
xitianjile 2004-12-11
  • 打赏
  • 举报
回复
String[] stemp={"nullc10","1##c11","3##c13","4##c15","8##c14","6"};
int[] itemp=new int[stemp.length];
int j=0;
for(int i=0;i<stemp.length;i++){
String ste=stemp[i];
if(ste.indexOf("##")>0){
String r=ste.substring(0,ste.indexOf("##"));
try{
int ite=Integer.parseInt(r);
itemp[j]=ite;
j++;
}catch(Exception e){}
}else{
try{
int ite=Integer.parseInt(ste);
itemp[j]=ite;
j++;
}catch(Exception e){}
}
}
for(int i=0;i<j;i++)
System.out.println(itemp[i]);
xitianjile 2004-12-11
  • 打赏
  • 举报
回复
感冒了
待会写.
jFresH_MaN 2004-12-11
  • 打赏
  • 举报
回复
String s="nullc10,1##c11,3##c13,4##c15,8##c14,6";
int i=0,j=0,sum=0;
while(((i=s.indexOf(",",i))!=-1)&&((j=s.indexOf("##",j))!=-1)) {
sum+=Integer.parseInt(s.subString(i,j));
}
没有测试,楼主先试试
加载更多回复(10)

81,115

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧