java诗的简单介绍
今天给各位分享java诗的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、用java完成唐诗测试游戏:从每句随机去掉一个字_代替,然...
- 2、用java怎么把一首诗从横的变竖的
- 3、把一首诗打印成古文形式,用java来实现
- 4、Java:某文件中是一首诗,每句诗中都包含一个错别字,编写程序改正过来(使用randomFile)
用java完成唐诗测试游戏:从每句随机去掉一个字_代替,然...
import java.util.Random;
public class Test {
public static void main(String[] args){
String tangshi = "锄禾日当午,汗滴禾下土,谁知盘中餐,粒粒皆辛苦。" ;
char[] c = tangshi.toCharArray() ;
Random ran = new Random() ;
int ran1 = ran.nextInt(4) ;
int ran2 = ran.nextInt(4)+6 ;
int ran3 = ran.nextInt(4)+12 ;
int ran4 = ran.nextInt(4)+18 ;
char[] xuanxiang = new char[4] ;
xuanxiang[0] = c[ran1] ;
c[ran1] = '_' ;
xuanxiang[1] = c[ran2] ;
c[ran2] = '_' ;
xuanxiang[2] = c[ran3] ;
c[ran3] = '_' ;
xuanxiang[3] = c[ran4] ;
c[ran4] = '_' ;
for(int i=0; ic.length ; i++){
System.out.print(c[i]) ;
if((i==5)||(i==11)||(i==17)||(i==23)){
System.out.println() ;
}
}
int [] abcd = getABCD() ;
System.out.print("A、"+xuanxiang[abcd[0]]+" ");
System.out.print("B、"+xuanxiang[abcd[1]]+" ");
System.out.print("C、"+xuanxiang[abcd[2]]+" ");
System.out.print("D、"+xuanxiang[abcd[3]]);
}
public static int[] getABCD(){
int[] c = new int[4] ;
Random ran = new Random() ;
boolean flag = true ;
while(flag){
c[0] = ran.nextInt(4) ;
c[1] = ran.nextInt(4) ;
if(c[0] != c[1]){
c[2] = ran.nextInt(4) ;
if((c[0]!=c[2])(c[1]!=c[2])){
c[3] = ran.nextInt(4) ;
if((c[0]!=c[3])(c[1]!=c[3])(c[2]!=c[3])){
flag=false ;
}
}
}
}
return c;
}
}
如果是7字的诗你就自己修改吧!呵呵!
用java怎么把一首诗从横的变竖的
具体实现代码如下:
package test;
public class Test
{
public static void main(String[] args)
{
String separator = System.getProperty("line.separator");
String str = "床前明月光" + separator + "疑是地上霜" + separator + "这是最长的一行" + separator + "最短的一行";
String[] strArray = str.split(separator);
int maxLine = 0;
String tmpStr = null;
for (int i = 0; i strArray.length; i++)
{
if (strArray[i].length() maxLine)
{
maxLine = strArray[i].length();
}
}
for (int j = 0; j maxLine; j++)
{
for (int i = 0; i strArray.length; i++)
{
if (j = strArray[i].length())
{
tmpStr = "\t ";
}
else
{
tmpStr = "\t" + strArray[i].charAt(j);
}
System.out.print(tmpStr);
}
System.out.println("");
}
}
}
把一首诗打印成古文形式,用java来实现
如果是界面上的话,建议用一字宽的label,放入一个个分句,这样可以自动换行成竖排,然后将label从左至右排列,如果是标准流,我觉得基本没有完美解
如果是高级文本处理,建议参考open office
字符流
1. 截断分句,得到分句量n
2. 分屏p,N为屏宽字符数,从0开始计数,p=int(n/N)
3. 求的最长分句长度,L
如果右至左打印
a. 创建输出缓存矩阵,p*(N*L+1)
b. 从每个分句中从头逐字取
我懒得写了,好像小学生作业啊
都是基本逻辑,只是最好把结果流输入到less或者more程序
否则不算完善解
Java:某文件中是一首诗,每句诗中都包含一个错别字,编写程序改正过来(使用randomFile)
package test;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
public class test2 {
static void check(char[] ch,char[] ch2,RandomAccessFile raf){//检查
for (int i = 0; i ch2.length; i++) {
if(ch[i] != ch2[i]){
modify(ch,i, raf);
}
}
}
static void modify(char[] ch,int i ,RandomAccessFile raf){//修改
try {
raf.seek(i*2);//跳指针
raf.write(String.valueOf(ch[i]).getBytes());//写正确答案
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
File f = new File("D://李白静夜思.txt");//注意文件内的内容也是一行,没有回车
RandomAccessFile raf;
byte[] b = new byte[48];
String text = "床前明月光,疑是地上霜。举头望明月,低头思故乡。";
char[] ch = text.toCharArray();//正确版本
char[] ch2;//错误版本
try {
raf = new RandomAccessFile(f, "rw");
for(int i=0;ib.length;i++){
b[i] = raf.readByte() ; // 读取一个字节
}
String text2 = new String(b) ;
ch2 = text2.toCharArray();//把读来的数据放入错误数组
check(ch, ch2,raf);
raf.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
纯手打,望采纳(我文件是放在D盘的根目录下的)
关于java诗和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。