Java学习空间
Java新人
posts - 9,  comments - 17,  trackbacks - 0
我在JSP中处理一个if-else语句的时候发现一个奇怪的问题:
假设我有一个String型的变量str,它可以等于两个值a和b。现在我想这样处理:如果str=a,就显示字符串“str现在等于a”,如果str=b,就显示字符串“str现在等于b”。我开始是这样做的:
<%
String str
="";
%>
<%if(str=="a"){%>
str现在等于a
<%}
else if(str=="b"){%>
str现在等于b
<%}
%>
但是这样做,不管str=a还是str=b,字符串始终显示不出来。于是我用了另一种方法:
<%
String str
="";
%>
<%if(str=="a"){%>
str现在等于a
<%}
else {%>
str现在等于b
<%}
%>
这样,就可以得到正确结果。
但是问题是,这样就只能处理str只取两个值的情况,如果str还有其他值的话,只有把它当成非a来处理了。
请教大家:我觉得第一种处理方法中逻辑上也没什么错误,跟第一种方法在逻辑上的意义也是相同的,但是为什么,第一种方法就显示不出来,而第二种就可以显示出来呢?
是不是因为,if-else必须配对使用,而第一种方法中只用了if-else if,后面这个if没有else配对的原因?
请大家在路过的时候留下来帮小弟解决这个问题,万分感激!
posted on 2007-08-02 11:52 Elven 阅读(376) 评论(3)  编辑  收藏

FeedBack:
# re: 一个if-else的问题
2007-08-02 13:10 | Elven
怎么没高手帮我看看呢?  回复  更多评论
  
# re: 一个if-else的问题[未登录]
2007-08-03 09:29 | 冻僵的鱼
if(str.equals("a"))
字符串的比较要用equals  回复  更多评论
  
# re: 一个if-else的问题
2007-08-03 13:23 | Elven
@冻僵的鱼
字符串的比较确实该用equals,先谢谢了!
不过,如果这样做了if-else的问题就解决了吗?
那我先试试!!!  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 

<2007年8月>
2930311234
567891011
12131415161718
19202122232425
2627282930311
2345678

常用链接

留言簿(3)

随笔分类

随笔档案

文章档案

搜索

  •  

最新评论

  • 1. re: struts2.0
  • 如果采用虚拟目录的话,docBase 指到WEB-INF目录的上一级目录!
    chenwangdu@vip.citiz.net
  • --chenwangdu
  • 2. re: struts2.0
  • 楼上的高手,加个QQ咯
  • --wk
  • 3. re: struts2.0
  • 评论内容较长,点击标题查看
  • --syz
  • 4. re: 还是struts2问题
  • 为什么不直接使用wtp呢,完整的集成环境,非要自己配置干什么?
  • --cherishchen
  • 5. re: 还是struts2问题
  • 多半是因为你的web.xml中有什么错误导致的,可以查tomcat的日志文件,看看其中有什么exception
  • --Tiger F

阅读排行榜

评论排行榜