用java 编写程序,只允许输入1-100的整数,不允许输入字符串或文字或大于100的数字?

RT。也就是排除文字。

import java.util.Scanner;
public class InputNumber {
/**
* @param args
*/
public static void main(String[] args) {
String num;
Scanner s = new Scanner(System.in);
System.out.println("输入一个1-100的数字:");
num = s.next();
System.out.println(num);
int a;
try {
a = Integer.valueOf(num);
} catch (NumberFormatException e) {
System.out.println("输入的不是数字!");
return;
}
if (a < 1 || a > 100) {
System.out.println("输入的不是1-100的数字!");
}
else {
System.out.println("输入的是1-100的数字,你输入的是:" + num);
}
}

}
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-03-12
技术没那么深
给你点建议:
1.捕捉按键编码,不是0-9的编码,不生效
2.放开按键的时候对输入框进行判定,如果值超过100,则修正成100
第2个回答  2013-03-12
用正则呢,个人觉得有点麻烦,呵呵,用一个比较简单的来解决
Object text = 输入的文本
if (text != null && text instanceof Integer && text >0 && text <=100) {
//做正确处理
} else {
//错误处理
}
第3个回答  2013-03-12
用正则表达式

用java 编写程序,只允许输入1-100的整数,不允许输入字符串或文字或大于...
} catch (NumberFormatException e) { System.out.println("输入的不是数字!");return;} if (a < 1 || a > 100) { System.out.println("输入的不是1-100的数字!");} else { System.out.println("输入的是1-100的数字,你输入的是:" + num);} } } ...

...一下,课堂作业。 1)程序随机分配给客户一个1-100的整数
import java.util.Scanner;public class AddTest { public static void main(String args[]){ boolean flag = true;while(flag){ Scanner scanner = new Scanner(System.in);System.out.println("请输入一个1-100的整数");\/\/input 是接收控制台输入的整数 int input = scanner.nextInt();\/\/创...

编写Java程序,将一字符串其中的大小写字母的字符分别输出
循环字符串用charAt方法来获取字符,将字符转为int,只要判断转换后的数值就可以判断大小写字母,大写字母的范围是65-90,小写字母的范围是97-122。public class Main { public static void main(String[] args) { String s = "aaBvdEFdsd";StringBuffer ss = convertString(s);System.out.println(...

用java写循环,显示100内某个数的倍数,输出出现次数!
package com.xxt.lyh;public class Test { public static void main(String[] args) { \/\/ 就直接在主方法里写了,不写那么规范。\/\/ 定义变量存放学号字符串。String studentno = "201951897";\/\/ 提取学号的最后一位数。studentno = studentno.substring(studentno.length() - 1);\/\/ 求出学号...

在java里用最简单的方法编写一个程序,判断输入的是大写字母还是小写字 ...
public static void main(String[] args) { Scanner scanner = new Scanner(System.in);String str = scanner.nextLine().trim();if(str.length() > 1){ System.out.println("输入的是字符串");}else if(str.matches("[a-z]")){ System.out.println("输入的是小写字母");}else if(str...

编写一个JAVA程序读取0到50(包含两者)范围内的任意多个整数,并且计算每...
public class Test { public static void main(String[] args) { Map<Integer, Integer> map = new HashMap<>(); Scanner scanner = new Scanner(System.in); System.out.println("请输入0到50范围的数(输入-1结束)"); int num; \/\/ 输入 -1 则输入结束 while ((...

编写java程序:输入一个字符串,判断有几个英文字母,有几个数字,有几个...
public static void main(String args[]){ String str1="abfdTE1879!!";\/\/可以从控制台输入 String str2=str1.replaceAll("[a-z|A-Z]","");System.out.println("英文字符的个数为"+(str1.length()-str2.length()));str1=str2;str2=str1.replaceAll("[0-9]","");System.out....

java编程:编写应用程序,从命令行输入两个小数参数,求它们的商。要求程序...
NumberFormatException,数字格式异常,常见于由字符串转换到数字的时候会出现 比如abc2.0--转换成数字时,系统就会抛出这个异常。ArithmeticException ,除0异常。这个异常常见于整数除整数,如果被除数是0,那么会抛出这个异常。但是提示要求是小数除小数。double小数就算是0,那么在存储的时候也不是简单的0...

用JAVA出10个100以内的随机整数(1-99)的减法题
3、随机获取0-N的整数:new Random().nextInt(N);4、你上面的提示也有了,for循环可以控制次数。5、比上面的提示更加简单的,你可以使用一个可以在java中执行 js的脚本的第三方包,那问题就简单多了,直接执行对应的字符串,看返回结果,对比就可以 6、独孤码农,IT方面的问题,我一般只给思路,不...

java编写程序,从键盘输入任一个字符串,求字符串中有几个数字字符?(数 ...
public class Test { public static void main(String args[]){ Scanner scanner = new Scanner(System.in); String str = scanner.next(); \/\/去除所有的非数字字符 String digits = str.replaceAll("[^0-9]",""); \/\/判断去除之后是否为空 if (!digits.isEmpty()){...

相似回答