黑马程序员技术交流社区

标题: 验证问题 [打印本页]

作者: Bad_Boy    时间: 2013-9-23 21:30
标题: 验证问题
本帖最后由 Bad_Boy 于 2013-9-24 11:05 编辑

键盘录入数据:要求:只能是数字、最多13位、如果第一位输入0就不能继续输入的验证怎么写

作者: 冷漠无天    时间: 2013-9-23 22:15
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Test1 {

public static void main(String[] args) {

  BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  System.out.println("输入:");
  String str = null;
  try {
   str = br.readLine();
  } catch (IOException e) {
   System.out.println("I/O错误!");
  }
  boolean bl = true;    //存放是否全为数字
  char[] c = str.toCharArray();    //把输入的字符串转成字符数组
  for(int i=0;i<c.length;i++){
   if(!Character.isDigit(c[i])){   //判断

   System.out.println("存在非数字字符!");
   break;
  }
   if(c.length>13){
  System.out.println("您输入长度超过13位");
  break;
  }
if(nteger.ValueOf(c)=0){
System.out.println("第一位不能为0");
  break;
   }
   }

  }
}
}
作者: 冷漠无天    时间: 2013-9-23 22:16
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Test1 {

public static void main(String[] args) {

  BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  System.out.println("输入:");
  String str = null;
  try {
   str = br.readLine();
  } catch (IOException e) {
   System.out.println("I/O错误!");
  }
  char[] c = str.toCharArray();    //把输入的字符串转成字符数组
  for(int i=0;i<c.length;i++){
   if(!Character.isDigit(c[i])){   //判断

   System.out.println("存在非数字字符!");
   break;
  }
   if(c.length>13){
  System.out.println("您输入长度超过13位");
  break;
  }
if(nteger.ValueOf(c)=0){
System.out.println("第一位不能为0");
  break;
   }
   }

  }
}
}
作者: aspoMAN    时间: 2013-9-23 22:30
13位数字可以使用正则表达式写,regx:^[0-9]{,13}$; 应该是这样,至于如果第一位是0则不能继续输入的验证 是在数据的当前行,还是写完这一行在验证呢? 在控制台应该不能做那个即时验证吧,






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2