从键盘接收输入! 如何只让它能输入数字啊,其它都不能输入!!!!!!!!
解决方案 »
- 高手挑战题!!!
- 关于一段代码如何去分析的问题,不难~~~~
- 配置问题
- 如何将一个javaBean集成到Jbuilder中
- 网页加载Applet程序需要多长时间?
- JAVAMAIL击活注册用户?
- 大家有没有碰到过JTextArea.setText()不上的时候,我已经碰到好多次了,虽然机率很小。我该怎么解决?
- ******************请问这样java里怎样实现,100分,可以UP********************
- 在动态加载中,Class.forname("com.mybean")得到的是类mybean的Class类,如何取得
- 请问java中四舍五入的方法是什么?
- class如何防止反编译?
- 求助, 一个简单一元硬币问题!
下面的代码是用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);
读入用户输入的一个数字
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
//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();
}
}
控制台程序 ,输入非数字都是无结果输出*/
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;
}
}
}
}
int a=sc.nextInt();
行不?
用js判断就行了function check(){
if (event.keyCode<48 || event.keyCode>57)
event.keyCode = 0;
}
然后你的输入框键盘事件调用这个方法:<input type="input" onkeypress="check()">
搞定
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);}
}我现在是了解楼主的想法了
:是当我输入字符时,计算机就根本不接受!我期待高手
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("输入的是个非数字,请重新输入!");
}
}
}}
不知道是不是你想要的。
但我那个同学是直接修改各个键的操作,非常的底层。因此我就想Java中是不是有处理键盘输入的类,于是就找到了DocumentFilter。你去JDK API中找一下javax.swing.text.DocumentFilter这个类。重载DocumentFilter中的三个方法后,用你自己的DocumentFilter对象构造一个Document对象,再用Document对象来构造JTextPane什么的。这个方法似乎可行。但只在jTextField有效。
good luck
Scanner input = new Scanner(system.in);
int i = input.nextInt();