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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

方法很简单,都是自己写的,非常很常用,要用的时候就不用再写了

这是一个获得键盘输入字符串的方法:
public static String getString() throws Exception{//获取键盘输入的字符串的方法
   System.out.println("请输入你需要的字符串:");
   BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
   return new String(buf.readLine());
}

下面是一个获得键盘输入的int型数据的方法,当输入错误或者超过int范围际会让你重新输入,技术有限这个写的有点麻烦,有大神有更好的方法可以教教我:
public static int getNum() throws Exception{
  System.out.println("请输入你需要的数字:");
  int num = 0 ;
  String bit = null;
  boolean flag = true;
  while(flag){
   BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
   bit = buf.readLine();
   byte[] b = bit.getBytes();
   for(int i:b){
    if(!(i>=48 && i<=57||i==45)){//判断是否是数字
     System.out.println("您输入了非法字符,请重新输入:");
     flag = false;
     break;
    }
   }
   if (!(flag)) {
    flag = !(flag);
    continue;
   }
   try{
    num = Integer.parseInt(bit);//判断数子大小在不在范围内
    flag = !(flag);
   }catch(Exception e){
    System.out.println("您输入的数字不在范围内,请重新输入:");
   }
      
  }
  return num;
}

评分

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

查看全部评分

2 个回复

倒序浏览
直接等回车后通过抛异常来提示非数字最简洁了
回复 使用道具 举报
老衲玩IT 发表于 2013-8-25 15:05
直接等回车后通过抛异常来提示非数字最简洁了

考虑到这个了,超出范围的异常也是这个异常,没法分辨,我不知道怎么弄,所以就把非数字用了遍历了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马