50個のランダム(4-10長さ)文字列をランダムに印刷

1336 ワード

質問の説明:50個のランダム(4-10の長さ)の文字列をランダムに印刷
要件:文字列に含まれる範囲は、すべての英字が大文字と小文字と数字を含み、符号化順にソートされ、各行に4つ印刷されます.
先頭文字の配置
//実現
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Scanner;

/**
 * @author yanwu
 *
 */
public class Test24 {

	/**
	 * @param args
	 */
	public static void main(String[] args)
	{
		Test24 test = new Test24();
		Scanner scan = new Scanner(System.in);
		System.out.println(" :");
		int length = scan.nextInt();
		
		// 
		List list = new ArrayList(0);
		for (int i = 0; i < 50; i++)
		{
			list.add(test.createString(length));
		}
		
		// 4 
		int count = 0;
		for (String str : list)
		{
			System.out.print(str + " ");
			count ++;
			if (count % 4 == 0)
			{
				System.out.println();								
			}
		}
	}

	// 
	public String createString(int length)
	{
		Random random = new Random();
		StringBuilder sb = new StringBuilder(0);
		while (sb.length() < length)
		{
			int number = random.nextInt('z' + 1);
			if ((number >= 'A' && number <= 'Z') 
					|| (number >= 'a' && number <= 'z'))
			{
				sb.append((char)number);
			}
			else if(number <= 9)
			{
				sb.append(number);
			}
		}
		
		return sb.toString();
	}
}