姓名选择器

代码实现如下


import java.util.Random;

public class NameGenerator {
	
	// 声明一个随机数产生器
	private final Random random = new Random();
	
	// 声明一个数组用来存放 姓
	private final String[] first = { "张" , "王" , "李" , "赵" , "陈" , "刘" , "郭" , "秦" , "马" , "孙" , "宋" , "安" , "周" };
	// 声明一个数组用来存放 姓名 中的第二个字
	private final String[] second = { "怡" , "晓"  , "天" , "汉" , "杰" , "相" , "东" , "红" , "雨" , "贤" , "娴" , "泽" , "鹏"  };
	// 声明一个数组用来存放姓名 中的第三个字
	private final String[] third = { "磊" , "娴"  , "文" , "斌" , "彬" , "雨" , "刚" , "林" , "乐" , "明" , "平" , "东" , "宝"  };
	
	// 声明一个字符缓冲区用来缓存产生的单个姓名
	private final StringBuffer buffer = new StringBuffer();
	
	// 声明并创建本类的一个实例
	private static final NameGenerator NAME_GENERATOR = new NameGenerator();
	
	// 将构造私有
	private NameGenerator() {
	}
	
	/**
	 * 用来随机产生单个姓名的静态方法
	 * @return 返回随机产生的单个姓名
	 */
	public static String generate() {
		
		// 为了能够简洁地使用 NAME_GENERATOR 中的实例变量
		// 这里选择重新声明变量并接受 NAME_GENERATOR 实例中的实例变量
		Random random = NAME_GENERATOR.random ;
		StringBuffer buffer = NAME_GENERATOR.buffer ;
		String[] first = NAME_GENERATOR.first ;
		String[] second = NAME_GENERATOR.second ;
		String[] third = NAME_GENERATOR.third ;
		
		buffer.setLength(0);
		
		int a = random.nextInt( first.length );
		buffer.append( first[ a ] ) ; // 从第一个数组中随机选择一个 姓
		
		int b = random.nextInt( second.length ) ;
		buffer.append( second[ b ] ) ; // 从第二个数组中随机选择第二个字
		
		boolean x = random.nextBoolean() ; // true 表示产生三个字的姓名
		
		if( x ) { // 如果 x 为 true 就随机选择第三个字,产生三个字的姓名
			int c = random.nextInt( third.length );
			buffer.append( third[ c ] ) ;
		}
		
		String name = buffer.toString(); // 从 buffer 中获得产生的姓名
		
		return name ;
	}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值