「Java自动写诗」自动写古诗词
今天给各位分享Java自动写诗的知识,其中也会对自动写古诗词进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
敢不敢用java写诗
public class Poetize {
public static void main(String[] args) {
System.out.println(" 山居秋暝");
System.out.println(" 王维");
System.out.println();
System.out.println("空山新雨后,天气晚来秋。");
System.out.println("明月松间照,清泉石上流。");
System.out.println("竹喧归浣女,莲动下渔舟。");
System.out.println("随意春芳歇,王孙自可留。");
}
}
大家来谈谈关于自动写诗软件的看法
机器永远不能跟人比,永远写不出真情实感。它的出现我们大可付诸一笑,那只是某些无聊人的小玩意小游戏,流行一阵便会自动消失,不必在意。写诗填词是人类抒情的高雅之举,走我们自己的路,让机器去嚷嚷吧。
写一个java程序 将一首古诗竖着排序从右往左读
import java.awt.Color;
import java.awt.Font;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.geom.AffineTransform;
import java.awt.image.AffineTransformOp;
import java.awt.image.BufferedImage;
import java.io.BufferedReader;
import java.io.StringReader;
import java.util.ArrayList;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class PoetryTest {
public static void main(String[] args) throws Exception {
final JFrame f = new JFrame();
final ArrayListPoetry ps = PContents.load();
final PoetryLabel plabel = new PoetryLabel();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.add(plabel);
f.setSize(320,268);
f.setLocationRelativeTo(null);
f.setVisible(true);
plabel.setPoetry(ps.get(0));
f.setTitle(plabel.getTitle()+"-"+plabel.getAuthor());
plabel.addMouseListener(new MouseAdapter(){
int index;
public void mouseClicked(MouseEvent e){
++index;
index=index%ps.size();
Poetry p = ps.get(index);
plabel.setPoetry(p);
f.setTitle(plabel.getTitle()+"-"+plabel.getAuthor());
}
});
}
}
//呈现诗歌的标签类
class PoetryLabel extends JLabel{
private static final Color tColor = Color.white;//标题颜色
private static final Color aColor = Color.yellow;//作者颜色
private static final Color cColor = Color.LIGHT_GRAY;//内容颜色
private static final int fontSize=16;//字体大小
private static final int tType = Font.BOLD;//标题字体样式为粗体
private static final int aType = Font.ITALIC;//作者字体样式为斜体
private static final int cType = Font.PLAIN;//内容字体样式为普通样式
private static final float scaleFactor = 1.2f;//标题字体大小比其它字体大
private static final String fontName="SimSun";//字体名称
private static final int offset=5,space=5;
private Font font;
private AffineTransform at;
private Poetry poem;
public PoetryLabel(){
this.poem=new Poetry();
this.font=new Font(fontName,cType,fontSize);
this.setHorizontalAlignment(JLabel.CENTER);
this.setVerticalAlignment(JLabel.CENTER);
at = new AffineTransform();
at.setToRotation(Math.toRadians(-90));
font = font.deriveFont(at);//将字体逆时针旋转90°
}
public Poetry getPoetry() {
return poem;
}
//设置诗歌,来初始化标签内容
public void setPoetry(Poetry s){
this.poem=s;
this.repaint();
}
public String getTitle(){return poem.title;}
public String getAuthor(){return poem.author;}
//创建图像,先将逆时针旋转了90°的文件画上,然后将整幅图像顺时针旋转90°
private Image createImage(){
int x;
int y=offset;
int w = getTWidth(poem);
int h = getTHeight(poem);
BufferedImage img = new BufferedImage(w,h,BufferedImage.TYPE_INT_ARGB);
Graphics2D g = img.createGraphics();
//draw title
g.setColor(tColor);
Font tfont = font.deriveFont(font.getSize()*scaleFactor).deriveFont(tType);
g.setFont(tfont);
y+=tfont.getSize();
char[] cs = poem.title.toCharArray();
for(int i=0; ics.length; i++){
x=(i+1)*(tfont.getSize()+space)+offset;
g.drawChars(cs, i, 1, x, y);
}
//draw author
y+=space*2+tfont.getSize();
cs = poem.author.toCharArray();
tfont = font.deriveFont(aType);
g.setColor(aColor);
g.setFont(tfont);
for(int i=0; ics.length; i++){
x=(i+1)*(tfont.getSize()+space)+offset;
g.drawChars(cs, i, 1, x, y);
}
//draw contents
y+=space*3;
g.setColor(cColor);
g.setFont(font);
for(int i=0; ipoem.contents.size(); i++){
y+=fontSize+space;
cs = poem.contents.get(i).toCharArray();
for(int j=0; jcs.length; j++){
x=(j+1)*(tfont.getSize()+space)+offset;
g.drawChars(cs, j, 1, x, y);
}
}
g.dispose();
return this.getRotateImage(img);
}
//将图像顺时针旋转90°
private Image getRotateImage(final BufferedImage img) {
int w = img.getWidth();
int h = img.getHeight();
BufferedImage newImg = new BufferedImage(h,w,2);
AffineTransformOp op = new AffineTransformOp(AffineTransform.
getRotateInstance(Math.toRadians(90),h/2,h/2),null);
return op.filter(img,newImg);
}
//绘图
public void paint(Graphics gg){
BufferedImage img = (BufferedImage)this.createImage();
int iw = img.getWidth();
int ih = img.getHeight();
Graphics2D g = (Graphics2D)gg;
int w = this.getWidth();
int h = this.getHeight();
g.setPaint(new GradientPaint(0,0,Color.DARK_GRAY,0,h,Color.black));
g.fillRect(0,0,w,h);
int x = (w-iw)/2;
int y = (h-ih)/2;
g.drawImage(img, x, y, this);
g.dispose();
}
//计算图片的高度
private int getTHeight(Poetry s) {
int h = offset*2+space*5;
h+=(int)(fontSize*(scaleFactor+1));
h+=(fontSize+space*2)*s.contents.size();
return h;
}
//计算图片的宽度
private int getTWidth(Poetry s) {
int tl = (int)(s.title.length()*(fontSize*scaleFactor+space)+offset*2);
int al = s.author.length()*(fontSize+space)+offset*2;
int t;
int max = tlal?tl:al;
for(int i=0; is.contents.size(); i++){
t = s.contents.get(i).length()*(fontSize+space)+offset*2;
max=maxt?max:t;
}
return max;
}
}
//诗歌类
class Poetry{
public String title;//标题
public String author;//作者
public ArrayListString contents=new ArrayListString();//内容
public void addLine(String s){this.contents.add(s);}//加入一行内容
}
//
class PContents{
public static String s=
"苏武庙\r\n"+
"温庭筠\r\n"+
"苏武魂销汉使前,\r\n"+
"古祠高树两茫然。\r\n"+
"云边雁断胡天月,\r\n"+
"陇上羊归塞草烟。\r\n"+
"回日楼台非甲帐,\r\n"+
"去时冠剑是丁年。\r\n"+
"茂陵不见封侯印,\r\n"+
"空向秋波哭逝川。\r\n"+
"\r\n"+
"贫女\r\n"+
"秦韬玉\r\n"+
"蓬门未识绮罗香,\r\n"+
"拟托良媒益自伤。\r\n"+
"谁爱风流高格调?\r\n"+
"共怜时世俭梳妆。\r\n"+
"敢将十指夸针巧,\r\n"+
"不把双眉斗画长。\r\n"+
"苦恨年年压金线,\r\n"+
"为他人作嫁衣裳。\r\n"+
"\r\n"+
"宫词\r\n"+
"薛逢\r\n"+
"十二楼中尽晓妆,\r\n"+
"望仙楼上望君王。\r\n"+
"锁衔金兽连环冷,\r\n"+
"水滴铜龙昼漏长。\r\n"+
"云髻罢梳还对镜,\r\n"+
"罗衣欲换更添香。\r\n"+
"遥窥正殿帘开处,\r\n"+
"袍裤宫人扫御床。\r\n"+
"\r\n"+
"利洲南渡\r\n"+
"温庭筠\r\n"+
"澹然空水对斜晖,\r\n"+
"曲岛苍茫接翠微。\r\n"+
"波上马嘶看棹去,\r\n"+
"柳边人歇待船归。\r\n"+
"数丛沙草群鸥散,\r\n"+
"万顷江田一鹭飞。\r\n"+
"谁解乘舟寻范蠡,\r\n"+
"五湖烟水独忘机?\r\n"+
"\r\n"+
"无题二首之一\r\n"+
"李商隐\r\n"+
"凤尾香罗薄几重,\r\n"+
"碧文圆顶夜深缝。\r\n"+
"扇裁月魄羞难掩,\r\n"+
"车走雷声语未通。\r\n"+
"曾是寂寥金烬暗,\r\n"+
"断无消息石榴红。\r\n"+
"斑骓只系垂杨岸,\r\n"+
"何处西南任好风?\r\n"+
"\r\n"+
"无题二首之二\r\n"+
"李商隐\r\n"+
"重帷深下莫愁堂,\r\n"+
"卧后清宵细细长。\r\n"+
"神女生涯原是梦,\r\n"+
"小姑居处本无郎。\r\n"+
"风波不信菱枝弱,\r\n"+
"月露谁教桂叶香?\r\n"+
"直道相思了无益,\r\n"+
"未妨惆怅是清狂。\r\n"+
"\r\n"+
"金陵图\r\n"+
"韦庄\r\n"+
"江雨霏霏江草齐,\r\n"+
"六朝如梦鸟空啼。\r\n"+
"无情最是台城柳,\r\n"+
"依旧烟笼十里堤。\r\n" +
"\r\n"
;
public static ArrayListPoetry load() throws Exception{
ArrayListPoetry list = new ArrayListPoetry();
BufferedReader br = new BufferedReader(new StringReader(s));
Poetry p = null;
String t = null;
while((t = br.readLine()) != null){
if(p==null)
p=new Poetry();
if(t.isEmpty()){
list.add(p);
p=null;
}
else if(p.title==null)
p.title=t;
else if(p.author==null)
p.author=t;
else
p.addLine(t);
}
return list;
}
}
ai写诗助手怎么自动跳出来
1、首先打开电脑,在找到AI诗人(智能创作诗词工具)再点击进入。
2、其次在找到设置,在设置里面找到ai写诗助手设置。
3、最后在设置自动跳出即可。
写诗软件有哪些?
1、为你写诗app
为你写诗app是一款充满诗意的手机软件。只要用户传上一张图片之后,就可以轻松的得到广大网友的为你写的作品,美图和美诗合成为一幅完美的作品,还可将作品分享到社交。
2、智写诗词
智写诗词是一款智能创作诗词的手机app软件。智写诗词帮你解决谋篇中的格律问题和选词问题,为广大作诗爱好者提供一个辅助。
3、古诗词宝手机版
古诗词宝收录了近千首诗词,为您提供优质的诗词内容和注解译文,涵盖各类诗词场景,帮助你全方位掌握诗词的注解和译文。
4、藏头诗在线制作器
藏头诗在线制作器是一款非常好用的藏头诗在线制作应用软件,生成一些优美的藏头诗,品味诗中意境,韵脚全部位置都可以自选。
5、诗林app
诗林app是一款让写诗变得更加的容易的智能ai算法app。自动检测所有的格律和韵脚,根据诗词格式智能筛选最出色的结果,全面的让用户了解诗歌创作的技巧和要点。
自动写诗,是怎么写的
你好,有个软件叫做古诗词撰写器,可以很大程度的辅助我们写好古典韵味的诗词。当然也有很多全自动的写诗软件或是写诗网页,但是很多都只是极具现代风味的诗歌,缺乏了古典韵味,古诗词撰写器可以锻炼我们的文学底蕴。 介绍: 唐诗宋词是我国古典文化的瑰宝,更是千余年来判断人们才学的标准,而因为诗词流传千古的人更是如过江之鲫;哪怕是现今社会,能写几首歪诗也能博得大家满堂喝彩,为自己挣个“才子”的名声,说不定还可以成就一段才子佳人的佳话呢。可是我们对古诗词的研究时间毕竟不如古人那么充裕(我们还有数理化,政史地等学科要学习呢),也就远远达不到古人那种“熟读唐诗三百首,不会作诗也会诌”的境界,再加上古诗词要求的平仄押韵等规矩,想要写首诗词真的好难。
为了大家都能够成为传说中的“才子”,小编就为大家介绍一款可以成就大家“才子”梦想的软件——古诗词撰写器。
软件的使用:
打开古诗词撰写器,映入眼帘的是那首岳飞的《满江红》,激昂的文字仿佛又把我们带回了那个金戈铁马的时代;而中国特有的水墨画背景更是透着一股纯净的中国风。
古诗词撰写器共有三个功能窗口,方便大家的使用。
一、诗词格律管理窗口
在诗词格律窗口中,左边是词牌,中间是显示界面,而右边则是显示模式和各种功能选项,软件收录的词牌虽然并不多,但是我们在这里面自己可以编辑自己喜欢的词牌、词谱,做到我的地盘我做主!
二、古典诗词写作
在古典诗词写作中,我们可以根据自己喜欢的词牌,来填写属于自己的词,填好后还可以选择用中华新韵或平水韵来检查自己的诗词符不符合押韵的规矩(有些情况要自己合理判断,电脑自带的判断太严格,就是拿原版的诗词判断有时都会有不符合的情况),具体使用方法是:先点击中华新韵或平水韵,然后点击判断正误即可。
三、古典诗词常识
最后一个窗口是对古诗词的常识介绍,大家可以先看一下然后再写,这样可以避免很多错误。
总结:
古诗词是很多人都喜欢的一种文体,特别是女孩子更喜欢这种朦胧的感觉,如果你有心的话,就赶快行动起来,用诗词来在你的朋友圈中创造你的“才子”佳话又或是用一首缠绵悱恻的诗词来俘获她的芳心吧!
附:
写诗速成法
题目统一都叫“无题”。
第一句:在思维的____里(中),
评:在第一句的空格中可填任何表示场所的词,当然是用得越少的词越好,如“厨房”、“花园”、“浴室”、“厕所”、“大衣柜”等,方能显得深刻。
第二句:我____着____……
评:在第一个空中应用一个表示人的生理感觉的词,如听、看、触、闻等,而第二个空应用能引起人感觉的词,如色彩、味道等,但是一定要打乱这种对应关系,用得越离奇越能激起人的遐想,如“触摸声音”、“品尝颜色”等,而且还可进行复杂的组合,如“我在夜色的芬芳中拥抱着你的目光”。
第三句:____________,
评:第三句没有固定的格式,一句大白话,越朴实越简单越老土越好,当读者被前两句弄得云里雾里,冷不妨把他拽到地上来。如“我早上吃了一碗豆浆两根油条”、“我要坐375路公共汽车上班”等。
第四句:也许__________……
评:最后一句也没有固定的格式,一般要与将来有点瓜葛,语气要平和,要有所暗示。如“也许我们明天还要见面”,“将来我会找到她”等。
一个完整的例子如下:
无题
在思维的停车场里,
在夜色的芬芳中我拥抱着你的声音……
晚上7:30我会坐375路离开,
也许明天会有个更好的约会……
无题
在思维的天空中,
我聆听着夜空中的星星……
今天天上有一个月亮,
也许明天天上有两个月亮……
无题
在思维的鼠标里
我听到花开的声音
春天来了
也许心事也会萌发
无题
在思维的CPU中
我隐约闻到烤鸭的味道…………
牙好,胃口就好
也许明儿个真的得买盒蓝天六必治…………
无题
在思维的洗衣机里
在纯净的水中我瞪视着袜子
现在的苹果一斤多少钱呀
也许明天我会学会削苹果
关于Java自动写诗和自动写古诗词的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-09,除非注明,否则均为
原创文章,转载请注明出处。