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("\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写诗程序的更多相关文章
- 终于解决了用JAVA写窗口程序在不同的windows界面下的显示保持一致。
好像是两三年前的时候发现这个问题. 由于在windows经典界面与windows xp界面下,窗口的标题栏的高度是不一样的. 所以我们在用Java写GUI程序的时候,会遇到一个问题. 当我把一个JFr ...
- java写桌面程序
一:使用java swing开发窗口程序 简述: 1.文章内容主要是使用java swing类库开发一个小的窗口程序,然后使用exe4j发布成exe可以安装的程序,让初学者对使用java来做pc软件开 ...
- 如何让Java写的程序,脱离Eclipse在别人的电脑上运行?
Java程序运行,离不开JRE. 将JRE文件夹拷贝出来, 将编写程序的bin文件夹拷贝出来, 再编写一个bat文件. start jre\bin\javaw.exe -cp .\bin\ -Djav ...
- 五:用JAVA写一个阿里云VPC Open API调用程序
用JAVA写一个阿里云VPC Open API调用程序 摘要:用JAVA拼出来Open API的URL 引言 VPC提供了丰富的API接口,让网络工程是可以通过API调用的方式管理网络资源.用程序和软 ...
- 《用Java写一个通用的服务器程序》01 综述
最近一两年用C++写了好几个基于TCP通信类型程序,都是写一个小型的服务器,监听请求,解析自定义的协议,处理请求,返回结果.每次写新程序时都把老代码拿来,修改一下协议解析部分和业务处理部分,然后就一个 ...
- 【Java面试题】30 子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序。
题目如下: 子线程循环10次,接着主线程循环100,接着又回到子线程循环10次, 接着再回到主线程又循环100,如此循环50次 思路如下: 子线程语主线程为互斥,可用SYNCHRONIZED.很容易想 ...
- 用JAVA写一个多线程程序,写四个线程,其中二个对一个变量加1,另外二个对一个变量减1
package com.ljn.base; /** * @author lijinnan * @date:2013-9-12 上午9:55:32 */ public class IncDecThrea ...
- 迅雷笔试题 (JAVA多线程)启动三个线程,分别打印A B C,现在写一个程序 循环打印ABCABCABC
题目:http://wenku.baidu.com/view/d66187aad1f34693daef3e8a.html 启动三个线程,分别打印A B C,现在写一个程序 循环打印ABCABCABC. ...
- 简单java在线测评程序
简单java程序在线测评程序 一.前言 大家过年好!今年的第一篇博客啊!家里没有网,到处蹭无线!日子过得真纠结!因为毕设的需求,简单写了一个java程序在线测评程序,当然也可以在本地测试. 二.思路 ...
随机推荐
- jenkins 找不到mvn 命令
错误如下: /data/jenkins/temp/hudson9132559581388971644.sh: line 4: mvn: command not found 方法如下: 1 修改环境变 ...
- nginx限制恶意IP处理方法
思考了几种方案,最终考虑使用ip黑名单的方式: 处理方法: 一.nginx黑名单方式: 1.过滤日志访问API接口的IP,统计每10分钟调用超过100次的IP,直接丢进nginx的访问黑名单 2.具体 ...
- Node.js的安装与使用-Windows系统
首先到官网下载node.js http://nodejs.cn 下载完成后一直下一步Next即可安装完成,路径可以自己设置 然后配置环境变量,将node安装的目录配置到Path中 例如: cmd打开命 ...
- Redis和springboot 整合redisUtil类
一.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...
- hammerjs jquery的选项使用方法,以给swipe设置threshold和velocity为例
先包含hammer.min.js和 jquery.hammer.js,然后: var $ele = $('#ele'); //复用jquerydom对象,建个变量 $ele.hammer().on(& ...
- ==和equals方法
Java程序中测试两个变量时否相等有两种方法: == 和 equals. ==判断 当使用==来判断两个变量是否相等时,如果两个变量是基本类型变量,且都是数字类型(不一定要求数据类型严格相同),则只要 ...
- 用Java创建JMeter变量 - 终极指南
了解如何在Java中创建不同类型的JMeter变量,不同变量类型的详细信息以及如何避免错误. 在Apache JMeter™中编写负载或功能测试涉及使用不同类型的变量.变量有多种用途,例如,在以下情况 ...
- puthon-进程间通信-队列和管道
********进程间通信-队列和管道******** ****进程间通信-队列和管道 IPC(Inter-Process Communication) ****队列 **概念介绍 创建贡献的进程队列 ...
- Mac用brew安装MySQL
1.先安装brew 网址:https://brew.sh/ 复制命令:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent ...
- [Android]XML和JSON的区别
1.定义介绍 (1).XML定义 扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允 ...