A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Bad_Boy 中级黑马   /  2013-9-23 21:30  /  6669 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Bad_Boy 于 2013-9-24 11:05 编辑

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

评分

参与人数 1技术分 +1 收起 理由
黄兴旺 + 1

查看全部评分

3 个回复

倒序浏览
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;
   }
   }

  }
}
}
回复 使用道具 举报
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;
   }
   }

  }
}
}

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

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

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马