java上机试题,大家来练练手 现在给你一个新一代新身份证号,默认为18位号码,如果该号码是15位的话,请在第6位后面加上“19”,并在最后一位加上“X”,如果是18位,则不变。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 package cn.dzr.shenfenzheng;import java.io.BufferedReader;import java.io.InputStreamReader;public class VerifyIdentityCard{ public static void main(String[] args) throws Exception { P("请输入身份证号...."); P("如果想结束输入,请输入 bye ...."); // byte[] buff = new byte[100]; // int len=0; BufferedReader bufIn=new BufferedReader(new InputStreamReader(System.in)); String str=null; String regex1 = "[0-9]{15}"; String regex2 = "[0-9]{18}"; while((str = bufIn.readLine())!="bye") { if(str.equals("bye")) { P("bye"); break; } else if(str.matches(regex1)) { StringBuilder sb = new StringBuilder(str); sb.append('X'); sb.insert(6, "19"); P("你输入的身份证号码为15位:"); P(sb); } else if(str.matches(regex2)) { P("你输入的身份证号码为18位:"); P(str); } else { P("你输入的身份证号码不正确!请重新输入...."); } } } private static<T> void P(T t) { System.out.println(t); }} 用StringBuffer也可以,但是StringBulider提供一个与 StringBuffer 兼容的 API,不保证同步。StringBulider被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。 用StringBuffer也可以,但是StringBulider提供一个与 StringBuffer 兼容的 API,不保证同步。StringBulider被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。 String transformString(String input) {} 一行代码搞定String transformString(String input) { return input.length() == 15 ? input.substring(0, 6) + "19" + code.substring(6, 15) + "X" : input;} 打错字了,改一下String transformString(String input) { return input.length() == 15 ? input.substring(0, 6) + "19" + input.substring(6, 15) + "X" : input;} 只需要简单的if、else、三元、for、while等等就可以解决,完全不需要数据结构的思想;现在的机试题都很挑剔的,遇到lz的这种上机题,属于运气好的。 stringbuffer str = new stringbuffer()String s = "你的号码";if(s长度==15){str.append(s.substring(0,5)).append("19").append(s.substring(5));return str;}else if(s长度==18){...}else{syso("号码不存在,确认后,重新输入...");} 帮我看看怎么改? 如何能让这段代码提高效率,解决掉,高分送上!急!急!急!高手帮帮忙! switch怎么返回继续判断? sql2000补丁。。。(急急急) 急问 怎么使JInternalFrame的头与浮动条处于同一行上? JAVA字符窜是否相等究竟怎么判别,为什么这句IF这么奇怪呢? 我导入一个已经写好的maven项目,这个项目是可以运行的,我导入后启动就报监听器错误 向高手请教import语句用法!!! 哪里有类似visual j++6.0 MSDN的java2帮助文档? 正则表达式,求推荐 今天碰到了一个很非常基础的问题,变量赋值问题,但是不知道还有这种,是怎么回事呢?
import java.io.InputStreamReader;public class VerifyIdentityCard
{ public static void main(String[] args) throws Exception
{
P("请输入身份证号....");
P("如果想结束输入,请输入 bye ....");
// byte[] buff = new byte[100];
// int len=0;
BufferedReader bufIn=new BufferedReader(new InputStreamReader(System.in));
String str=null;
String regex1 = "[0-9]{15}";
String regex2 = "[0-9]{18}";
while((str = bufIn.readLine())!="bye")
{
if(str.equals("bye"))
{
P("bye");
break;
}
else if(str.matches(regex1))
{
StringBuilder sb = new StringBuilder(str);
sb.append('X');
sb.insert(6, "19");
P("你输入的身份证号码为15位:");
P(sb);
}
else if(str.matches(regex2))
{
P("你输入的身份证号码为18位:");
P(str);
}
else
{
P("你输入的身份证号码不正确!请重新输入....");
}
}
} private static<T> void P(T t)
{
System.out.println(t);
}}
String transformString(String input) {
}
String transformString(String input) {
return input.length() == 15 ? input.substring(0, 6) + "19" + code.substring(6, 15) + "X" : input;
}
String transformString(String input) {
return input.length() == 15 ? input.substring(0, 6) + "19" + input.substring(6, 15) + "X" : input;
}
String s = "你的号码";
if(s长度==15){
str.append(s.substring(0,5)).append("19").append(s.substring(5));
return str;
}else if(s长度==18){
...
}else{
syso("号码不存在,确认后,重新输入...");
}