JAVA编程题(String)

编写程序,提示用户输入一个社会保险号码,它的格式是DDD-DD-DDDD,其中D是一个数字。程序会为正确的社保号显示“ValidSSN",否则显示InvalidSSN.这... 编写程序,提示用户输入一个社会保险号码,它的格式是DDD-DD-DDDD,其中D是一个数字。程序会为正确的社保号显示“Valid SSN",否则显示Invalid SSN.

这道题是书上String类那章的练习题,谁知道怎么写?最好是用String类里的一些简单的方法。
最好能给个详细点的注释,刚学这章不太懂.
展开
 我来答
匿名用户
推荐于2017-09-01
展开全部
package com.zzb.test;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Test {
public boolean isNum(int c) {
return 48 <= c && 57 >= c;
}
//通过比较ASCII码判断是否符合要求
public boolean test(String s) {
char[] ss = s.toCharArray();
if (ss.length != 11)
return false;
int i = 0;
for (int j = 0; j < 3; j++) {
if (!isNum(ss[i]))
return false;
i++;
}
if (ss[i] != '-')
return false;
i++;

for (int j = 0; j < 2; j++) {
if (!isNum(ss[i]))
return false;
i++;
}
if (ss[i] != '-')
return false;
i++;
for (int j = 0; j < 4; j++) {
if (!isNum(ss[i]))
return false;
i++;
}
return true;
}
//正则表达式法
public boolean test2(String s){
Pattern pat = Pattern.compile("[\\d]{3}-[\\d]{2}-[\\d]{4}");
Matcher mat = pat.matcher(s);
return mat.matches();
}

public static void main(String[] args) {
Test test = new Test();
String s = "111-11-1111";
System.out.println(test.test(s));
System.out.println(test.test2(s));
s = "111-11-111x";
System.out.println(test.test(s));
System.out.println(test.test2(s));
s = "111-11-11111";
System.out.println(test.test(s));
System.out.println(test.test2(s));
s = "111-11X1111";
System.out.println(test.test(s));
System.out.println(test.test2(s));
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
呼延又亦0F
2014-05-26 · TA获得超过1300个赞
知道小有建树答主
回答量:207
采纳率:0%
帮助的人:194万
展开全部
Scanner scanner = new Scanner(System.in);
String string = scanner.nextLine();

Pattern pattern = Pattern.compile("\\d{3}-\\d{2}-\\d{4}");
Matcher matcher = pattern.matcher(string);
if(matcher.find()){
System.out.println("Valid SSN");
}
else{
System.out.println("InValid SSN");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式