从键盘接收输入! 如何只让它能输入数字啊,其它都不能输入!!!!!!!!

解决方案 »

  1.   

    读取用户输入的文字,用Float.parseFloat解析,如果有异常就认为输入的不是数字。或者用正则表达式。
    下面的代码是用Float.parseFloat解析验证的:
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String line = null;
    float num = 0;
    while((line=br.readLine())!=null) {
    try {
    num = Float.parseFloat(line);
    break;
    } catch (Exception e) {

    }
    }
    System.out.println(num);
      

  2.   

    也可以使用Scanner类
    读入用户输入的一个数字
    Scanner sc = new Scanner(System.in);
    int i = sc.nextInt();
      

  3.   

    Scanner in=new Scanner(System.in); 然后就int number=in.nextInt(); ?
      

  4.   

    Scanner in=new Scanner(System.in); 然后就int number=in.nextInt();会抛异常,因为当输入其他字符时会出现转换异常
      

  5.   

    BufferedReader就可以了,Scanner感觉不是太靠谱。。
      

  6.   

    GUI 还是 CUI/CLI ?
      

  7.   


    //package com.ricky.www;
    /*
    从键盘接收输入! 如何只让它能输入数字啊,其它都不能输入!!!!!!!!
    */
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    import java.util.Scanner;public class Test{
    public static void main(String[] args){
    Scanner keyboard = new Scanner(System.in);
    String content = keyboard.nextLine();
    boolean result = checkContent(content);
    System.out.println(result);
    } public static boolean checkContent(String content){
    String regex = "^\\d+$";
    Pattern pattern = Pattern.compile(regex);
    Matcher matcher = pattern.matcher(content);
    return matcher.matches();
    }
    }
      

  8.   

     新手只是对题目有兴趣,所以写了下/* 从键盘接收输入。只让它能输入数字啊,其它都不能输入。
    控制台程序 ,输入非数字都是无结果输出*/
    import java.io.*;
    public class StandInt1 {
    public static int c=0;
    public static void main(String[] args) throws IOException{
    int a[]={48,49,50,51,52,53,54,55,56,57};
    int b[]={0,1,2,3,4,5,6,7,8,9};
    System.out.println("请输入一个数字:");
    test1:
            while (true) {
            c=(int)System.in.read();
    for (int i = 0;i<10;i++) {
    if (c==a[i]) {
    System.out.println("你输入的数字为 :"+b[i]);
    break test1;
    }
    else 
            continue;
    }
    }
    }
    }
      

  9.   

    我感觉用Scanner 好些,有异常就catch嘛
      

  10.   

    Scanner sc = new Scanner(System.in);
    int a=sc.nextInt();
    行不?
      

  11.   


    用js判断就行了function check(){
    if (event.keyCode<48 || event.keyCode>57)
    event.keyCode = 0;
    }
    然后你的输入框键盘事件调用这个方法:<input type="input" onkeypress="check()">
    搞定
      

  12.   

    你如果是在用命令输入的话就一定可以输入其他的任意可输入的字符,如果不是数字的话可以在异常处理时把它处理掉,如果是GUI界面的话也可以用异常处理把它P掉啊,就是当输入不当的时候,就可以在异常处理时提示出错。
      

  13.   

    public class DBRoute{   public static void main(String[] args) throws IOException {
       BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
       String line = null;
       float num = 0;
       while((line=br.readLine())!=null) {
           try {
               num = Float.parseFloat(line);
               break;
           } catch (Exception e) {
               System.out.println("请重新输入数字!");
           }
       }
       System.out.println((int)num);}
    }我现在是了解楼主的想法了
    :是当我输入字符时,计算机就根本不接受!我期待高手
      

  14.   

    import java.util.InputMismatchException;
    import java.util.Scanner;public class Test {
    //只能输入数字,当输入不是数字时重新输入!
    public static void main(String[] args) {
    boolean flag=true;
    while(flag)
    {
    Scanner sc=new Scanner(System.in);
    System.out.print("请输入一个数字:");
    try
    {
    int num=sc.nextInt();
    flag=false;
    System.out.println(num);
    }
    catch(InputMismatchException e)
    {
    System.out.println("输入的是个非数字,请重新输入!");
    }
    }
    }}
    不知道是不是你想要的。
      

  15.   

    楼主这个想法我一个同学实现过,需要屏蔽掉键盘输入,让程序运行时键盘字母段无效。
    但我那个同学是直接修改各个键的操作,非常的底层。因此我就想Java中是不是有处理键盘输入的类,于是就找到了DocumentFilter。你去JDK API中找一下javax.swing.text.DocumentFilter这个类。重载DocumentFilter中的三个方法后,用你自己的DocumentFilter对象构造一个Document对象,再用Document对象来构造JTextPane什么的。这个方法似乎可行。但只在jTextField有效。
    good luck
      

  16.   

    一般只是简单的就用Scanner 类 就好了
    Scanner input = new Scanner(system.in);
    int i = input.nextInt();
      

  17.   

    用System.in这个方法把,然后判断一下键盘输入的是不是数字键,是的话就让它输出,否则不用谢代码,只需给客户一个警告,这个键盘键的规格在Java里的哪个类我忘了,自己找找看