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("\n");
}
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("\n");
}
/*
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;
} }

  

Java写诗程序的更多相关文章

  1. 终于解决了用JAVA写窗口程序在不同的windows界面下的显示保持一致。

    好像是两三年前的时候发现这个问题. 由于在windows经典界面与windows xp界面下,窗口的标题栏的高度是不一样的. 所以我们在用Java写GUI程序的时候,会遇到一个问题. 当我把一个JFr ...

  2. java写桌面程序

    一:使用java swing开发窗口程序 简述: 1.文章内容主要是使用java swing类库开发一个小的窗口程序,然后使用exe4j发布成exe可以安装的程序,让初学者对使用java来做pc软件开 ...

  3. 如何让Java写的程序,脱离Eclipse在别人的电脑上运行?

    Java程序运行,离不开JRE. 将JRE文件夹拷贝出来, 将编写程序的bin文件夹拷贝出来, 再编写一个bat文件. start jre\bin\javaw.exe -cp .\bin\ -Djav ...

  4. 五:用JAVA写一个阿里云VPC Open API调用程序

    用JAVA写一个阿里云VPC Open API调用程序 摘要:用JAVA拼出来Open API的URL 引言 VPC提供了丰富的API接口,让网络工程是可以通过API调用的方式管理网络资源.用程序和软 ...

  5. 《用Java写一个通用的服务器程序》01 综述

    最近一两年用C++写了好几个基于TCP通信类型程序,都是写一个小型的服务器,监听请求,解析自定义的协议,处理请求,返回结果.每次写新程序时都把老代码拿来,修改一下协议解析部分和业务处理部分,然后就一个 ...

  6. 【Java面试题】30 子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序。

    题目如下: 子线程循环10次,接着主线程循环100,接着又回到子线程循环10次, 接着再回到主线程又循环100,如此循环50次 思路如下: 子线程语主线程为互斥,可用SYNCHRONIZED.很容易想 ...

  7. 用JAVA写一个多线程程序,写四个线程,其中二个对一个变量加1,另外二个对一个变量减1

    package com.ljn.base; /** * @author lijinnan * @date:2013-9-12 上午9:55:32 */ public class IncDecThrea ...

  8. 迅雷笔试题 (JAVA多线程)启动三个线程,分别打印A B C,现在写一个程序 循环打印ABCABCABC

    题目:http://wenku.baidu.com/view/d66187aad1f34693daef3e8a.html 启动三个线程,分别打印A B C,现在写一个程序 循环打印ABCABCABC. ...

  9. 简单java在线测评程序

    简单java程序在线测评程序 一.前言 大家过年好!今年的第一篇博客啊!家里没有网,到处蹭无线!日子过得真纠结!因为毕设的需求,简单写了一个java程序在线测评程序,当然也可以在本地测试. 二.思路 ...

随机推荐

  1. org.apache.commons.httpclient和org.apache.http.client区别(转)

    官网说明: http://hc.apache.org/httpclient-3.x/ Commons HttpClient项目现已结束,不再开发.它已被其HttpClient和HttpCore模块中的 ...

  2. python 定位

    #字符串定位 使用str.find() 其结果为如下: #列表中元素的定位 使用list.index() 其结果如下:

  3. hammerjs jquery的选项使用方法,以给swipe设置threshold和velocity为例

    先包含hammer.min.js和 jquery.hammer.js,然后: var $ele = $('#ele'); //复用jquerydom对象,建个变量 $ele.hammer().on(& ...

  4. Java 基础类库

    与用户互动 1. 运行java程序的参数 public static void main(Stirng[] args) 这个方法是有JVM调用,因此用public static修饰,并且没有返回值,同 ...

  5. spring 3.2.7 applicationContext.xml

    <?xml version="1.0" encoding="UTF-8" ?> <beans xmlns="http://www.s ...

  6. JS——三种嵌入页面的方式

    一 行间事件 二 页面script标签嵌入 三 外部引入 <!DOCTYPE html> <html lang="en"> <head> < ...

  7. 整数的lqp拆分

    题目大意 lqp在为出题而烦恼,他完全没有头绪,好烦啊… 他首先想到了整数拆分.整数拆分是个很有趣的问题.给你一个正整数N,对于N的一个整数拆分就是满足任意m>0,a1 ,a2 ,a3…am&g ...

  8. Spring 顾问

    1.名称匹配方法切入点顾问 接口:ISomeService public interface ISomeService { public void doSome(); public void doSe ...

  9. 《C#高效编程》读书笔记01-使用属性而不是可访问的数据成员

    在需求变更中,属性比数据成员更容易修改,例:客户对象不该与空白名称,若你使用公有属性封装Name,那么现在修改一处,而数据成员则可能要修改多处 public class Customer { priv ...

  10. 超文本传输协议(HTTP)

    超文本传输协议(HyperText Transfer Protocol,Http)是从服务器传输数据到客户端的传输协议. HTTP协议的主要特点可概括如下: 1.支持客户/服务器模式. 2.简单快速: ...