zoukankan      html  css  js  c++  java
  • Java写诗程序

    import java.util.Random;
    
    public class test_word {
    	public static void main(String[] args) {
    		
    		System.out.println("五言绝句");
    		System.out.println();
    		for(int i=0;i<4;i++) {
    			for(int j=0;j<5;j++) {
    				System.out.print(getRandomChineseChar());
    			}
    			System.out.print("
    ");
    		}	
    		System.out.println();
    		System.out.println("七言律诗");
    		System.out.println();
    		for(int i=0;i<8;i++) {
    			for(int j=0;j<7;j++) {
    				System.out.print(getRandomChineseChar());
    			}
    			System.out.print("
    ");
    		}	
    		/*
    		String str = getAllChineseChar();
    		System.out.println();
    		System.out.println(str);
    		System.out.println();
    		System.out.println(getChineseCharCount(str));*/
    
    		//如何只取一级汉字??未解决
    	}
    	//统计汉字字数
    	public static int getChineseCharCount(String inStr) {
    		int result = 0;
    		String reg = "^[u4e00-u9fa5]{1}$";
    		for(int i=0;i<inStr.length();i++) {
    			String b = Character.toString(inStr.charAt(i));
    			if (b.matches(reg)) {
    				result ++;
    			}
    		}
    		return result;
    	}
    	//统计汉字字数2
    	public static int getChineseCharCountEx(String inStr) {
    		int result = 0;
    		char ch;
    		for (int i=0;i<inStr.length();i++) {
    			ch = inStr.charAt(i);
    			if (ch>=19968 && ch <= 64041) {
    				result ++;
    			}
    		}
    		return result;
    	}
    	//获取所有汉字
    	public static String getAllChineseChar() {
    		String str = "";
    		byte[] by = new byte[2];		
    		for(int b1 =176;b1<248;b1++) {
    			by[0] = (byte)b1;
    			for(int b2 =161;b2<255;b2++) {
    				by[1]=(byte)b2;				
    				
    				try {
    					str += new String(by,"GB2312");
    				}
    				catch(Exception e) {
    					e.printStackTrace();
    				}
    				
    			}
    		}
    		return str;
    	}
    	//获取随机汉字
    	public static String getRandomChineseChar() {
    		String str = "";
    		int highCode;
    		int lowCode;
    		
    		Random random = new Random();
    		
    		highCode = (176 + Math.abs(random.nextInt(39)));
    		lowCode = (161 + Math.abs(random.nextInt(93)));
    		
    		byte[] b = new byte[2];
    		b[0] = Integer.valueOf(highCode).byteValue();
    		b[1] = Integer.valueOf(lowCode).byteValue();
    		
    		try {
    			str = new String(b,"GB2312");			
    		}
    		catch(Exception e){
    			e.printStackTrace();
    		}
    		return str;
    	}
    
    }
    

      

  • 相关阅读:
    Spring IoC详解
    Hibernate 和Mybatis的区别
    Nand Flash 驱动框架
    Nor Flash 驱动框架
    USB驱动框架
    输入子系统框架
    module_init 内核调用过程
    平台设备驱动框架
    LCD驱动框架
    嵌入式-开篇
  • 原文地址:https://www.cnblogs.com/liw66/p/10370584.html
Copyright © 2011-2022 走看看