写一个java程序 将一首古诗竖着排序从右往左读

写一个java程序 将一首古诗竖着排序从右往左读,第1张

import javaawtColor;

import javaawtFont;

import javaawtGradientPaint;

import javaawtGraphics;

import javaawtGraphics2D;

import javaawtImage;

import javaawteventMouseAdapter;

import javaawteventMouseEvent;

import javaawtgeomAffineTransform;

import javaawtimageAffineTransformOp;

import javaawtimageBufferedImage;

import javaioBufferedReader;

import javaioStringReader;

import javautilArrayList;

import javaxswingJFrame;

import javaxswingJLabel;

public class PoetryTest {

public static void main(String[] args) throws Exception {

final JFrame f = new JFrame();

final ArrayList<Poetry> ps = PContentsload();

final PoetryLabel plabel = new PoetryLabel();

fsetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);

fadd(plabel);

fsetSize(320,268);

fsetLocationRelativeTo(null);

fsetVisible(true);

plabelsetPoetry(psget(0));

fsetTitle(plabelgetTitle()+"-"+plabelgetAuthor());

plabeladdMouseListener(new MouseAdapter(){

int index;

public void mouseClicked(MouseEvent e){

++index;

index=index%pssize();

Poetry p = psget(index);

plabelsetPoetry(p);

fsetTitle(plabelgetTitle()+"-"+plabelgetAuthor());

}

});

}

}

//呈现诗歌的标签类

class PoetryLabel extends JLabel{

private static final Color tColor = Colorwhite;//标题颜色

private static final Color aColor = Coloryellow;//作者颜色

private static final Color cColor = ColorLIGHT_GRAY;//内容颜色

private static final int fontSize=16;//字体大小

private static final int tType = FontBOLD;//标题字体样式为粗体

private static final int aType = FontITALIC;//作者字体样式为斜体

private static final int cType = FontPLAIN;//内容字体样式为普通样式

private static final float scaleFactor = 12f;//标题字体大小比其它字体大

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(){

thispoem=new Poetry();

thisfont=new Font(fontName,cType,fontSize);

thissetHorizontalAlignment(JLabelCENTER);

thissetVerticalAlignment(JLabelCENTER);

at = new AffineTransform();

atsetToRotation(MathtoRadians(-90));

font = fontderiveFont(at);//将字体逆时针旋转90°

}

public Poetry getPoetry() {

return poem;

}

//设置诗歌,来初始化标签内容

public void setPoetry(Poetry s){

thispoem=s;

thisrepaint();

}

public String getTitle(){return poemtitle;}

public String getAuthor(){return poemauthor;}

//创建图像,先将逆时针旋转了90°的文件画上,然后将整幅图像顺时针旋转90°

private Image createImage(){

int x;

int y=offset;

int w = getTWidth(poem);

int h = getTHeight(poem);

BufferedImage img = new BufferedImage(w,h,BufferedImageTYPE_INT_ARGB);

Graphics2D g = imgcreateGraphics();

//draw title

gsetColor(tColor);

Font tfont = fontderiveFont(fontgetSize()scaleFactor)deriveFont(tType);

gsetFont(tfont);

y+=tfontgetSize();

char[] cs = poemtitletoCharArray();

for(int i=0; i<cslength; i++){

x=(i+1)(tfontgetSize()+space)+offset;

gdrawChars(cs, i, 1, x, y);

}

//draw author

y+=space2+tfontgetSize();

cs = poemauthortoCharArray();

tfont = fontderiveFont(aType);

gsetColor(aColor);

gsetFont(tfont);

for(int i=0; i<cslength; i++){

x=(i+1)(tfontgetSize()+space)+offset;

gdrawChars(cs, i, 1, x, y);

}

//draw contents

y+=space3;

gsetColor(cColor);

gsetFont(font);

for(int i=0; i<poemcontentssize(); i++){

y+=fontSize+space;

cs = poemcontentsget(i)toCharArray();

for(int j=0; j<cslength; j++){

x=(j+1)(tfontgetSize()+space)+offset;

gdrawChars(cs, j, 1, x, y);

}

}

gdispose();

return thisgetRotateImage(img);

}

//将图像顺时针旋转90°

private Image getRotateImage(final BufferedImage img) {

int w = imggetWidth();

int h = imggetHeight();

BufferedImage newImg = new BufferedImage(h,w,2);

AffineTransformOp op = new AffineTransformOp(AffineTransform

getRotateInstance(MathtoRadians(90),h/2,h/2),null);

return opfilter(img,newImg);

}

//绘图

public void paint(Graphics gg){

BufferedImage img = (BufferedImage)thiscreateImage();

int iw = imggetWidth();

int ih = imggetHeight();

Graphics2D g = (Graphics2D)gg;

int w = thisgetWidth();

int h = thisgetHeight();

gsetPaint(new GradientPaint(0,0,ColorDARK_GRAY,0,h,Colorblack));

gfillRect(0,0,w,h);

int x = (w-iw)/2;

int y = (h-ih)/2;

gdrawImage(img, x, y, this);

gdispose();

}

//计算的高度

private int getTHeight(Poetry s) {

int h = offset2+space5;

h+=(int)(fontSize(scaleFactor+1));

h+=(fontSize+space2)scontentssize();

return h;

}

//计算的宽度

private int getTWidth(Poetry s) {

int tl = (int)(stitlelength()(fontSizescaleFactor+space)+offset2);

int al = sauthorlength()(fontSize+space)+offset2;

int t;

int max = tl>altl:al;

for(int i=0; i<scontentssize(); i++){

t = scontentsget(i)length()(fontSize+space)+offset2;

max=max>tmax:t;

}

return max;

}

}

//诗歌类

class Poetry{

public String title;//标题

public String author;//作者

public ArrayList<String> contents=new ArrayList<String>();//内容

public void addLine(String s){thiscontentsadd(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 ArrayList<Poetry> load() throws Exception{

ArrayList<Poetry> list = new ArrayList<Poetry>();

BufferedReader br = new BufferedReader(new StringReader(s));

Poetry p = null;

String t = null;

while((t = brreadLine()) != null){

if(p==null)

p=new Poetry();

if(tisEmpty()){

listadd(p);

p=null;

}

else if(ptitle==null)

ptitle=t;

else if(pauthor==null)

pauthor=t;

else

paddLine(t);

}

return list;

}

}

最开始是因为计算机上面可以玩游戏,后来觉得使用计算机很酷,从无到有创造的过程很神圣而且很帅,义无反顾地报考了计算机专业,工作后,在编码的过程中痛并快乐着,会得越多,越觉得有趣,觉得选择这个职业很靠谱,写代码的感觉很幸福。

之前,体验过一款教育类软件,笔神写作APP。系统通过算法,在中学生用户进行写作时,根据输入的词语和句子,实时推荐素材,有优美描写句、古诗词、名人名言等。系统希望以此帮助学生们轻轻松松就能“写出”一篇作文,卖点是否恰当,这里不讨论。

令我印象深刻的是这款产品研发的缘起。

创始人宋嘉伟,身兼“技术达人”和“作家”的身份标签,曾任曾任索尼公司高级系统架构师,后自己创办人工智能科技公司。

2017年,他创业失败,人生跌入低谷。满腔郁愤的他,给自己放假一年。

他感到胸中块垒不吐不快,于是他遇到写作,放下是非得失,听凭内心召唤和驱使去做一件想做的事。

最终,他以自己真实创业经历为原型完成长篇小说《试错》。这部小说获得真故第一届小说奖首奖,获得奖金10万,并且卖出了影视版权100万。

更为重要的是,他在自己亲身创作小说的过程中,凭借自身技术和用户积淀,发觉了痛点,嗅到了商机,研发了笔神写作系统。以此为新的创业项目,立马获得资本青睐,目前公司估值上亿。

他的人生,登上更高峰。

他说:“我幻想过千万种被世人认识的方式,但从未想过会是写作。”

今天,又了解到另一个故事。

搜韵网,有“中国最好用的诗词门户网站”的美称。

创建人陈逸云,微软中国工程院工程师。他从小语文成绩不好,理科成绩出众。但是受家庭影响,他热爱古诗词,为古诗简洁的语言而着迷。所以,尽管运营成本一直在增加,他的网站仍然一直是公益免费。

自称“古诗词狂热者”的他,利用业余时间,于2009年创办搜韵网。至今,搜韵的古诗词已逾100万首,独立研发的韵典、诗词校验、诗词检索成为众多诗词爱好者、研究者喜爱的实用工具。

2017年,他利用数据挖掘技术研发的“唐宋文学编年地图”,迅速刷爆互联网。打开这张与众不同的“诗词地图”,一个一个耳熟能详的远古诗人仿佛重获新生,穿越千年降临现代。鼠标停留处,同步d出时间、地理、诗人、历史事件和作品,立体展示唐宋诗词文化的魅力。让我们这些与传统文化渐行渐远的人们,重新感受到了古诗词的趣味。

由此衍生出《有人将李白杜甫苏东坡的一生旅行足迹做成地图,发现大事情了》《唐代人去过的地方,为什么比你还多?》等抓人眼球、震撼人心的爆文。

我清楚记得自己当时看到杜甫一生遍布中国大地的足迹时,想到这位贫病交加的大诗圣,想到古人出行的万般艰难,真的是感动到落泪!

这就是一个程序员爱上诗歌后,结出的美丽果实。

从这两个故事中,我看到“热爱”的力量。

“热爱”是打心底里想做一件事,并且不问付出、不计得失地去行动,去做起来了。

这样日积月累,由于始终坚持做那件“热爱”的事情,内心收获的是充实、丰盈和踏实。

每个人内心的能量池都在积蓄,越积越满,“热爱”是内心能量输出的锚点。

内心力量之源汩汩流出,流入那片热爱之土,去浇灌,无论长出的是芸芸草芥还是醒目花朵。

正因为这种出于热爱而不问东西的坚韧行动力,往往,会结出意想不到的惊喜。

人说越努力越幸运,耕耘一角热爱之土,也就是在给自己的人生铸造幸运筹码。

现在似乎越来越多的“斜杠青年”,有的人可能真的是精力充沛,学习能力超强,可以同时跨界多个领域,成为多方面的专业人士。

但也可能,更多人无法把“兴趣”变为职业,远方的“热爱”没法像眼下的工作那样当饭吃,无法成为一个“靠做自己喜欢的事情生活”的人。

我们常说“八小时之内为生存,八小时之外为发展。”实际中,我们往往八小时之内“在工作中”,八小时之外“在准备工作”,学习各种工作技能、职场充电……如果工作就是自己的热爱所在,这样未尝不可。如果不是,不妨放下工作,给生活一点时间。

人生就像骑单车吧,一直小心翼翼握着车把;或许最惬意的是放开双手的瞬间——才能感到自己在飞翔。

飞花令——目前史上第一款也唯一一款飞花令手机app,这款“飞花令”app既可以让你痛快的玩诗词游戏。

手机软件,主要指安装在智能手机上的软件,完善原始系统的不足与个性化。使手机完善其功能,为用户提供更丰富的使用体验的主要手段。

手机软件的运行需要有相应的手机系统,截至2017年6月1日,主要的手机系统:苹果公司的iOS、谷歌公司的Android(安卓)系统、塞班平台和微软平台。

2019年11月4日,工业和信息化部信息通信管理局组织召开APP侵害用户权益行为专项整治工作启动部署会,将重点对违规收集用户个人信息、违规使用用户个人信息、不合理索取用户权限、为用户账户注销设置障碍四个方面的8类问题开展规范整治工作。

智能手机,是指像个人电脑一样,具有独立的 *** 作系统、独立的运行空间,可以由用户自行安装软件、游戏、导航等第三方服务商提供的程序,并可以通过移动通讯网络来实现无线网络接入手机类型的总称。

写诗投稿赚钱的方式:第一种 ,收徒;第二种,卖软件;第三种,流量主变现。

诗词歌赋,很少有人能靠这个赚钱。

抖音直播写诗却能赚钱,在抖音上开直播, 现场帮人的名字写成一首五言或者七言的藏头诗,有人送礼物就帮他写。

变现非常简单,就是刷礼物。前期人少的时候,可以让观众在评论区留下自己的名字,然后你给他写诗。当人多了,刷礼物才能给他写诗。

这种直播方式挺吸引人,容易转化变现。

观众看到主播在帮人私人定制写藏头诗,他们很大概率也会想要让主播给自己做一首诗,满足自己的“虚荣”心理。

直播打赏是最基本的赚钱变现方式。

其余的变现方式,和其他的玩法基本相似

第一种 ,收徒

一个人收个399,一天收一个,那也是月入过万了。

第二种,卖软件

别人挖矿你卖铲子,写诗,尤其是这种口水诗,AI就可以完成,不需要你有才气,只需要你去找到相应的软件。当有人想要这样的一个工具,那么你就可以卖软件了,39元。

第三种,流量主变现。

搭建一个小程序,当观众想要一首诗,就需要进入小程序,去生成,通过小程序流量主变现了。

直播打赏为主,其他为辅,多重变现。

那这个项目该如何 *** 作呢 ?

直播

简单一点就是obs,设置场景,只显示word文档,当有人发出名字,你就利用软件,生成,然后手打上去

笨一点方法,就是直接手机拍摄直播,对着电脑的word,有人发名字,你就利用另一台电脑,进行生成,然后手打上去。

当然不要一下子就把诗句放上,要一个字一个字地打,装出现场创作诗句的样子。

视频

把古代名人的名字做成藏头诗,做成或者就直接录制你写诗打字的过程,添加背景音乐和动态特效,添加文案。

每一个视频末尾再添加一个文案,引导观众留下自己想要生成的诗的名字,你的下一期视频从评论区里节选用户留言来生成藏头诗,这样,不仅可以有效的增加互动,还可以提高完播率。

在做这个账号的时候,你已经形成了一个诗人的人设,那么慢慢的你就可以带书卖货,做成书单号了

以上就是关于写一个java程序 将一首古诗竖着排序从右往左读全部的内容,包括:写一个java程序 将一首古诗竖着排序从右往左读、你为什么会成为了一个程序员、当一个程序猿爱上诗歌等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9355552.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存