注册 登录
编程论坛 JAVA论坛

求助 代码能运行 可是运行的有问题 要咋修改呢

遗情处有诗章 发布于 2018-03-21 08:45, 1879 次点击
程序代码:
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class text {

    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
         while(in.hasNext()){
             String str =in.nextLine();
             Pattern p = (eL);
                String test = "\\d{3}-\\d{2}-\\d{4}";
                Matcher m = p.matcher(test);
                boolean data = m.matches();
                if (!data) {
                    System.out.println(str+"不是正确的社保号码");
                }
                else
                {
                    System.out.println(str+"是正确的社保号码");
                }
         }
    in.close();
    }

}




题目是编写一个程序,检验用户输入的数字序列是否是正确的社保号码,假设正确的社保号码的格式是DDD-DD-DDDD,其中D是一个数字。
4 回复
#2
疯狂的小a2018-03-21 11:09
程序代码:
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**

 *
@author niyite

 *         题目是编写一个程序,检验用户输入的数字序列是否是正确的社保号码,假设正确的社保号码的格式是DDD-DD-DDDD,其中D是一个数字。

 
*/
public class Test {

    public static void main(String[] args) {
        System.out.println("请输入社保账户:");
        Scanner sc = new Scanner(System.in);
        
        while (sc.hasNext()) {
            String str = sc.nextLine();
            String test = "\\d{3}-\\d{2}-\\d{4}";
            Pattern pattern = (test);
            Matcher matcher = pattern.matcher(str);
            boolean b = matcher.matches();
            if (!b) {
                System.out.println(str + "不是正确的社保号码");
            } else {
                System.out.println(str + "是正确的社保号码");
            }
        }
        sc.close();
    }

}
#3
遗情处有诗章2018-03-22 09:28
回复 2楼 疯狂的小a
谢谢大神 原来是里面的函数要调换下顺序呀
#4
rind2018-03-22 13:32
回复 3楼 遗情处有诗章
不是顺序问题,是参数问题,理解参数含义很重要。
#5
遗情处有诗章2018-03-22 20:29
回复 4楼 rind
嗯嗯
1