一、Scanner基本运用:
import java.util.Scanner;//导入Scanner包
Scanner scanner = new Scanner();
String str = Scanner.next(); //需从键盘输入str的值
二、万能输入——Scanner与正则表达式结合
import java.util.Scanner;//导入Scanner包
Scanner scanner = new Scanner();
String str = Scanner.next(); /*定义一个String类型的str变量,将键盘上输入的值赋予给str*/
//如果需要的数是double类型,即需要正整数、正小数,筛选掉其他格式字符时:
//通过正则表达式,筛选出正整数和正小数
if(str1.matches("[0-9]*$")||str1.matches("^\\d+\\.\\d+$")){
//将筛选出来的str转换成Double类型的值
Double number = Double.parseDouble(str);
}esle{
System.out.println("输入的值不是正整数,小数");
}
补充:常用的正则表达式
功能 | 格式 |
---|
只能所有数字 | ^[0-9]*$ |
只能输入n位的数字 | “^\d{n}$” |
只能输入至少n位的数字: | “^\d{n,}$” |
只能输入m~n位的数字 | “^\d{m,n}$” |
只能输入零和非零开头的数字 | “^(0 |
只能输入有两位小数的正实数 | “^[0-9]+(.[0-9]{2})?$” |
只能输入有1~3位小数的正实数 | “^[0-9]+(.[0-9]{1,3})?$“ |
只能输入非零的正整数 | “^+?[1-9][0-9]*$” |
只能输入非零的负整数 | “^-[1-9][]0-9”*$ |
只能输入长度为3的字符 | “^.{3}$” |
只能输入由26个英文字母组成的字符串 | “^[A-Za-z]+$” |
只能输入由26个大写英文字母组成的字符串 | “^[A-Z]+$” |
只能输入由26个小写英文字母组成的字符串 | “^[a-z]+$” |
只能输入由数字和26个英文字母组成的字符串 | “^[A-Za-z0-9]+$” |
只能输入由数字、26个英文字母或者下划线组成的字符串 | “^\w+$” |