java 正则表达式怎样写才只能输入20到60之间的数字
展开全部
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入数据:");
String in = sc.nextLine();
if(checkNum(in)){ // if(checkValue(in))
System.out.println("输入的数字为20-60!");
}
else{
System.out.println("输入的数据不在范围内!");
}
sc.close();
}
public static boolean checkNum(String str){
return str.matches("[2-5][0-9]|60");
// [2-5][0-9]可表示20-59,60则单独处理
}
public static boolean checkValue(String str){
int value_in = Integer.valueOf(str);
return (value_in>=20 && value_in<=60);
}
}
展开全部
只用正则表达式很难做到,要把正则表达式和数值判断结合起来使用
static boolean check(String s) {
if(s.matches("\\d{2}")) {
int n = Integer.parseInt(s);
if(n>=20 && n<=60) return true;
}
return false;
}
追问
谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public static boolean checkNumRange(String num){
return Pattern.matches("([2-5][0-9]|60)", num);
}
追问
谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询