又又是一个小儿科的问题——不知错哪了

ljty 2001-08-24 05:40:33
<%
//我想判断Num中是否数字。
//但在页面中输入一个数字后,jsp不执行else段。没有出错提示。

String Num=request.getParameter("Num");
String sNum="0123456789";

if (Num.indexOf(sNum)==-1){
out.println("Your input isn't a Number.");
out.println("Your input is "+Num+".<br>");
}
else{
out.println("Right! Your input is "+Num+"!");
}
%>
...全文
39 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
lci21 2001-08-24
另外,注意养成良好的书写习惯,变量首字符一半用小写,
除非是静态的最终变量
回复
lci21 2001-08-24
我给你写个吧!不过这个方式仅仅能检测整形数据。
String num=request.getParameter("Num");
boolean bln;
try
{
int n = Integer.parseInt(num);
bln = true;
return bln;
}
catch(NumberFormatException e)
{
bln = false;
return bln;
}

if (bln==true)
{
out.println("num IS NUMBER!");
}
else
{
out.println("num IS NOT NUMBER!");
}
回复
lci21 2001-08-24
把下面这一句:
if (Num.indexOf(sNum)==-1){
改一下:
if (sNum.indexOf(Num)==-1){
我的测试代码:
public class TestNumber
{
public static void main(String[] args)
{
String Num="67";
String sNum="0123456789";

if (sNum.indexOf(Num)==-1)
{
System.out.println("Your input isn't a Number.");
System.out.println("Your input is "+Num+".<br>");
}
else
{
System.out.println("Right! Your input is "+Num+"!");
}
}
}
声明:如果你是检测一位数字,或者数字属于"0123456789"的一个字串时,
可以用这种方法,否则,方法无效!
回复
fielli 2001-08-24
除非你输入的是'0123456789',否则永远不会执行到else语句。如果你想判断输入的是否一个
数值,你应该做一个循环。
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2001-08-24 05:40
社区公告
暂无公告