看代码:
- package com.test;
- import java.util.Scanner;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- public class Test {
-
- public static void main(String[] args) {
- String input = null;
- // 判断用户输入的内容是否为数字","默认不是数字
- boolean isNum = false;
- // 不断获取用户输入的内容,并判断是否是数字
- while (true) {
- //获取用户输入的内容
- input = getInput();
- // 匹配输入的内容是数字的正则表达式
- Pattern pattern = Pattern.compile("[0-9]{1,19}");
- Matcher matcher = pattern.matcher(input);
-
- //如果匹配就是数字,否则不是数字
- if(matcher.matches()){
- System.out.println("是数字\n");
- }else{
- System.out.println("非数字\n");
- }
- }
- }
- // 该方法用于获取用户输入的内容
- public static String getInput() {
- Scanner in = new Scanner(System.in);
- String num = "";
- // 如果用户输入为空,继续让用户输入
- while (num.equals("")) {
- System.out.printf("请输入阿拉伯数字:");
- num = in.nextLine();
- }
- return num;
- }
- }
复制代码 |