java上机试题,大家来练练手

shirui8653719 2013-08-11 10:05:32
现在给你一个新一代新身份证号,默认为18位号码,如果该号码是15位的话,请在第6位后面加上“19”,并在最后一位加上“X”,如果是18位,则不变。
...全文
518 15 打赏 收藏 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
kosora曹 2013-08-13
  • 打赏
  • 举报
回复
引用 10 楼 shirui8653719 的回复:
引用 3 楼 SmallYamateh 的回复:
你确定这是机试题啊?!完全的顺序型程序,机试题没这么简单吧?
什么叫顺序型程序?
只需要简单的if、else、三元、for、while等等就可以解决,完全不需要数据结构的思想;现在的机试题都很挑剔的,遇到lz的这种上机题,属于运气好的。
Wuerselen 2013-08-13
  • 打赏
  • 举报
回复
没有算法的简单题
yang463488415 2013-08-13
  • 打赏
  • 举报
回复
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("号码不存在,确认后,重新输入...");
}
shirui8653719 2013-08-12
  • 打赏
  • 举报
回复
引用 9 楼 lcf 的回复:
打错字了,改一下
String transformString(String input) {
  return input.length() == 15 ? input.substring(0, 6) + "19" + input.substring(6, 15) + "X" :  input;
}
学习啦。
davidworld 2013-08-12
  • 打赏
  • 举报
回复
用StringBuffer也可以,但是StringBulider提供一个与 StringBuffer 兼容的 API,不保证同步。StringBulider被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。
shirui8653719 2013-08-12
  • 打赏
  • 举报
回复
引用 1 楼 fortheother 的回复:
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);	
	}

}
shirui8653719 2013-08-12
  • 打赏
  • 举报
回复
引用 3 楼 SmallYamateh 的回复:
你确定这是机试题啊?!完全的顺序型程序,机试题没这么简单吧?
什么叫顺序型程序?
davidworld 2013-08-12
  • 打赏
  • 举报
回复
用StringBuffer也可以,但是StringBulider提供一个与 StringBuffer 兼容的 API,不保证同步。StringBulider被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。
一颗米粒 2013-08-12
  • 打赏
  • 举报
回复
楼上写得不错
kosora曹 2013-08-12
  • 打赏
  • 举报
回复
你确定这是机试题啊?!完全的顺序型程序,机试题没这么简单吧?
lkq_david 2013-08-12
  • 打赏
  • 举报
回复
对的,用StringBuilder不错的
lcf 2013-08-12
  • 打赏
  • 举报
回复
打错字了,改一下
String transformString(String input) {
  return input.length() == 15 ? input.substring(0, 6) + "19" + input.substring(6, 15) + "X" :  input;
}
lcf 2013-08-12
  • 打赏
  • 举报
回复
一行代码搞定
String transformString(String input) {
  return input.length() == 15 ? input.substring(0, 6) + "19" + code.substring(6, 15) + "X" :  input;
}
lcf 2013-08-12
  • 打赏
  • 举报
回复

String transformString(String input) {
}
2013-08-11
  • 打赏
  • 举报
回复
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);	
	}

}

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧