JAVA用数据留给出师表排序,如果诸葛亮会编程,用Java写出师表...

继上一篇 "如果诸葛亮用C#写出师表..."后,站长想自己的第一语言是Java,虽然平时工作上用的不多,也用Java实现一遍吧,改改就是了,无非就是:

C#的Console.WriteLine改为Java的System.out.println;

C#的string改为Java的String;

C#的bool改为Java的boolean;

C#的继承符号:改为Java的extends;

C#的断言Debug.Assert改为Java的assert。

不到半个小时,Java版出师表就新鲜出炉了,和上篇声明一样,纯粹无聊写着玩,读者别在意枚举、类名、变量中文命名,纯粹为了娱乐。

41f0be5a9d0e9889cef009bce2a153a7.png

出师表背景再来一次

今天让我们码农以特有的方式,来表达对丞相大人的敬仰与怀念!

蜀章武元年(221年),刘备称帝,诸葛亮为丞相。蜀汉建兴元年(223年),刘备病死,将刘禅托付给诸葛亮。诸葛亮实行了一系列比较正确的政治和经济措施,使蜀汉境内呈现兴旺景象。为了实现全国统一,诸葛亮在平息南方叛乱之后,于建兴五年(227年)决定北上伐魏,拟夺取魏的长安,临行之前上书后主,即这篇《出师表》。

Java 源码

定义的一些类、枚举

public enum 王道 {明, 昏}/* * 先帝,陛下,文景,桓灵 */static class 君 { public String 名称; public boolean 在; public 王道 为君; public 君() { 在 = true; 为君 = 王道.明; } public boolean 创业(double percentage) { if (percentage < 0.5) { 在 = false; System.out.println("创业未半而中道崩殂!"); return false; } else { System.out.println("兴复汉室,还于旧都!"); return true; } } public void 开张圣听() { System.out.println("开张圣听,光先帝遗德!"); } public void 恢弘志士之气() { } public void 宾自菲薄() { } public void 引喻失义() { System.out.println("塞忠谏之路!"); } public void 亲贤臣远小人() { 为君 = 王道.明; } public void 亲小人远贤臣() { 为君 = 王道.昏; } public void 治国() { } public void 偏私() { System.out.println("内外异法!"); } public boolean 咨之(String 事) { if (王道.明 == 为君) { return true; } return false; } public boolean 施行(String 事) { return true; } public void 曰(String 言) { System.out.println(言); } public void 每与臣论此事() { System.out.println("叹息痛恨于桓灵。"); }}static enum 臣德 {贤, 奸}static class 侍卫之臣 { private 君 刘备 = new 君(); private 君 刘禅 = new 君(); public String 名称; public 臣德 为臣; public void 不懈于内() { System.out.println("侍卫之臣" + 名称 + "不懈于内"); } public boolean 追先帝之殊遇() { if (刘备.为君 == 王道.明) { return true; } else { return false; } } public boolean 报之于陛下() { if (刘禅.为君 == 王道.明) { return true; } else { return false; } } public boolean 谋事(String 事) { if (为臣 == 臣德.贤) { return true; } return false; }}static class 忠志之士 { private 君 刘备 = new 君(); private 君 刘禅 = new 君(); public String 名称; public 臣德 为臣 = 臣德.贤; public void 忘身于外() { System.out.println("忠志之士" + 名称 + "忘身于外!"); } public boolean 追先帝之殊遇() { if (刘备.为君 == 王道.明) { return true; } else { return false; } } public boolean 报之于陛下() { if (刘禅.为君 == 王道.明) { return true; } else { return false; } } public boolean 谋事(String 事) { if (为臣 == 臣德.贤) { return true; } return false; }}public static enum 气候 {兴盛, 疲弊, 兴隆, 倾颓}/* * 曹魏,东吴,益州,先汉,后汉 */public static class 国 { public 气候 国运; public 国() { 国运 = 气候.兴盛; } public void 付诸有司论其刑赏(侍卫之臣 臣) { if (臣.为臣 == 臣德.贤) { System.out.println("赏!"); } else { System.out.println("刑!"); } }}/* * 郭攸之,费祎 */public static class 侍中 extends 侍卫之臣 {};/* * 董允 */public static class 侍郎 extends 侍卫之臣 {}/* * 陈震 */public static class 尚书 extends 侍卫之臣 {}/* * 张裔 */public static class 长史 extends 侍卫之臣 {}/* * 蒋琬 */public static class 参季 extends 侍卫之臣 {}/* * 向宠 */static class 中都督 extends 忠志之士 {}/* * 诸葛亮 */static class 丞相 extends 侍卫之臣 { public void 回首往事() { System.out.println("臣本布衣,躬耕于南阳,苟全性命于乱世,不求闻达于诸候。先帝不以臣卑鄙,猥自枉屈,三顾臣于草庐之中,咨臣以当世之事,由是感激,遂许先帝以驱驰。后值巅覆,受任于败军之际,奉命于危难之间,尔来二十有一年矣。"); } public void 表忠心() { System.out.println("先帝知臣谨慎,故临崩寄臣以大事也。受命以来,夙夜忧叹,恐托付不效,以伤先帝之明。故五月渡泸,深入不毛。"); } public void 请战() { System.out.println("今南方已定,兵甲已足,当奖率三军,北定中原,庶竭驽钝,攘除奸凶,兴复汉室, 还于旧都。"); } public void 道别() { System.out.println("今当远离, 临表涕零, 不知所言。"); }}复制代码

Java的main方法

public static void main(String[] args) { 君 先帝 = new 君(); 先帝.名称 = "先帝"; 先帝.创业(0.49); 国 益州 = new 国(); 益州.国运 = 气候.疲弊; System.out.println("此诚危急存亡之秋也!"); 侍中 郭攸之 = new 侍中(); 郭攸之.名称 = "郭攸之"; if (郭攸之.追先帝之殊遇() && 郭攸之.报之于陛下()) { 郭攸之.不懈于内(); } 侍中 费祎 = new 侍中(); 费祎.名称 = "费祎"; if (费祎.追先帝之殊遇() && 费祎.报之于陛下()) { 费祎.不懈于内(); } 侍郎 董允 = new 侍郎(); 董允.名称 = "董允"; if (董允.追先帝之殊遇() && 董允.报之于陛下()) { 董允.不懈于内(); } 中都督 向宠 = new 中都督(); 向宠.名称 = "向宠"; if (向宠.追先帝之殊遇() && 向宠.报之于陛下()) { 向宠.忘身于外(); } 君 陛下 = new 君(); if (陛下.为君 == 王道.明) { 陛下.开张圣听(); 陛下.恢弘志士之气(); } else { 陛下.宾自菲薄(); 陛下.引喻失义(); } 陛下.治国(); boolean 宫中 = false; boolean 府中 = false; boolean 陟臧 = false; boolean 罚否 = false; assert (宫中 == 府中); assert (陟臧 == 罚否); 侍卫之臣 作奸犯科者 = new 侍卫之臣(); 作奸犯科者.为臣 = 臣德.奸; 侍卫之臣 为忠善者 = new 侍卫之臣(); 为忠善者.为臣 = 臣德.贤; if (陛下.为君 == 王道.明) { 益州.付诸有司论其刑赏(作奸犯科者); 益州.付诸有司论其刑赏(为忠善者); } else { 陛下.偏私(); } if (郭攸之.为臣 == 臣德.贤 && 费祎.为臣 == 臣德.贤 && 董允.为臣 == 臣德.贤) { System.out.println("此皆良实,志虑忠纯,是以先帝简拔以遗陛下。"); } String 宫中之事 = null; if (陛下.咨之(宫中之事) && 郭攸之.谋事(宫中之事) && 费祎.谋事(宫中之事) && 董允.谋事(宫中之事)) { 陛下.施行(宫中之事); System.out.println("裨补阙病, 有所广益"); } if (向宠.为臣 == 臣德.贤) { System.out.println("性行淑均,晓畅军事。"); System.out.print("先帝称之曰:"); 先帝.曰("能"); System.out.println("是以众议举宠为督。"); } String 营中之事 = null; if (陛下.咨之(营中之事)) { 陛下.施行(宫中之事); System.out.println("行阵和睦,优劣得所!"); } 君 文景 = new 君(); 君 恒灵 = new 君(); 国 先汉 = new 国(); 国 后汉 = new 国(); 文景.亲贤臣远小人(); 先汉.国运 = 气候.兴隆; 恒灵.亲小人远贤臣(); 后汉.国运 = 气候.倾颓; do { 先帝.每与臣论此事(); } while (先帝.在); if (郭攸之.为臣 == 臣德.贤 && 费祎.为臣 == 臣德.贤 && 董允.为臣 == 臣德.贤) { System.out.println("此悉贞良死节之臣,愿陛下亲之信之,则汉室之隆,可计日而待也。"); } 丞相 诸葛亮 = new 丞相(); 诸葛亮.回首往事(); 诸葛亮.表忠心(); 诸葛亮.请战(); // 此臣所以报先帝而忠陛下之职分也 诸葛亮.道别();}复制代码代码输出《出师表》

b0d36bebf0fe8ac63067e52433b70843.png

出师表部分输出

创业未半而中道崩殂!此诚危急存亡之秋也!侍卫之臣郭攸之不懈于内侍卫之臣费祎不懈于内侍卫之臣董允不懈于内忠志之士向宠忘身于外!开张圣听,光先帝遗德!刑!赏!性行淑均,晓畅军事。先帝称之曰:能是以众议举宠为督。行阵和睦,优劣得所!叹息痛恨于桓灵。臣本布衣,躬耕于南阳,苟全性命于乱世,不求闻达于诸候。先帝不以臣卑鄙,猥自枉屈,三顾臣于草庐之中,咨臣以当世之事,由是感激,遂许先帝以驱驰。后值巅覆,受任于败军之际,奉命于危难之间,尔来二十有一年矣。先帝知臣谨慎,故临崩寄臣以大事也。受命以来,夙夜忧叹,恐托付不效,以伤先帝之明。故五月渡泸,深入不毛。今南方已定,兵甲已足,当奖率三军,北定中原,庶竭驽钝,攘除奸凶,兴复汉室, 还于旧都。今当远离, 临表涕零, 不知所言。复制代码

作者:沙漠尽头的狼(dotnet9.com)

链接:https://juejin.cn/post/6941193127617265672

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/443052.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python 横坐标旋转,python 横坐标旋转

数据旋转公式x1cos(angle)*x-sin(angle)*y;y1cos(angle)*ysin(angle)*x;从数学上来说&#xff0c;此公式可以用来计算某个点绕另外一点旋转一定角度后的坐标&#xff0c;例如&#xff1a;A(x&#xff0c;y)绕B(a&#xff0c;b)旋转β度后的位置为C(c&#xff0c;d)&#xff0c;…

php 数组区删除重复的,php – 从数组中删除重复的项目

我使用下面的代码行来遍历数据库中的一个表&#xff1a;$items_thread $connection -> fetch_all($sql);如果我打印出来的阵列&#xff1a;print_r($items_thread);我会得到这个&#xff1a;Array([0] > Array([RecipientID] > 3[RecipientScreenname] > Tom L[Re…

python计算器教程,用Python程序制作一个简单的计算器

用Python程序制作一个简单的计算器在此示例中&#xff0c;您将学习创建一个简单的计算器&#xff0c;该计算器可以根据用户的输入进行加&#xff0c;减&#xff0c;乘或除。要理解此示例&#xff0c;您应该了解以下Python编程主题&#xff1a;通过函数创建简单计算器示例# 程序…

oracle表重命名 索引,CSS_在Oracle数据库中按用户名重建索引的方法,如果你管理的Oracle数据库下某 - phpStudy...

在Oracle数据库中按用户名重建索引的方法如果你管理的Oracle数据库下某些应用项目有大量的修改删除操作, 数据索引是需要周期性的重建的.它不仅可以提高查询性能, 还能增加索引表空间空闲空间大小.在ORACLE里大量删除记录后, 表和索引里占用的数据块空间并没有释放.重建索引可以…

ora-01113 oracle8i,ora-01113解决办法

今天在检查接口机的时候&#xff0c;发现速度奇慢&#xff0c;于是&#xff0c;就差了一下v$session表&#xff0c;可是很不幸&#xff0c;查询的速度慢的要命&#xff0c;原来的前几天备份的时候出现的问题&#xff0c;没办法&#xff0c;关闭后重其一次吧&#xff0c;可是关闭…

oracle更换rac节点,Oracle-rac 更改VIP地址—2节点的

1、主机名规划&#xff1a;--更改前&#xff1a;#Public Network - (eth0)ITPUB个人空间8Aw I"PbAv192.168.10.11 rac1G&n&uwk%m11386773192.168.10.12 rac2#Private Interconnect - (eth1)[V/{h4D(*f1L!J1138677310.10.10.11 rac1privH9RI(H/d.cP*UY1138677310.1…

Linux部署oracle11g,linux环境下部署Oracle11g

一、部署准备1、查看本地ssh服务Linux系统下安装启动ssh服务&#xff1a;1.检查是否装了SSH包rpm-qa |grep ssh2.没有安装SSH直接YUM安装yuminstall openssh-server3.检查SSH服务是否为开机启动chkconfig--list sshd4.设置开机启动SSH服务chkconfig--level 2345 sshd on5.重新启…

php yii把pdf转成图片,yii实现图片上传及缩略图生成的方法

这篇文章主要介绍了yii实现图片上传及缩略图生成的方法,详细分析了图片的上传及缩略图的生成原理与实现方法,是非常实用的技巧,需要的朋友可以参考下本文实例讲述了利用yii框架来实现图片上传功能并在上传成功之后自动生成缩略图的方法&#xff0c;分享给大家供大家参考。具体实…

linux下的安装命令行工具下载,linux系统程序安装(二)yum工具2-yum源及包下载

继续我们的yum工具应用之旅&#xff0c;yum工具之所以方便就是因为有方便的在线云库&#xff0c;实际工作中我们可能没办法链接互联网&#xff0c;或者我们想安装的程序原生源那么我们能不能用其他方式应用方便的yum源呢&#xff1f;一、使用光盘作为yum源1、将光盘挂载到/mnt目…

linux显卡内核修改,iTOP-4412开发板-驱动-linux显卡驱动的修改方法

本文档介绍迅为4412开发板的显卡分辨率修改方法。iTOP-4412 开发板支持 4.3 寸、7 寸和 9.7 寸等 lcd 显示屏。其中 4.3 寸屏是用的 cpu直接出来的 RGB 信号&#xff0c;7 寸屏和 9.7 寸屏是用的 LVDS 信号&#xff0c;硬件上使用了一个 RGB 转LVDS 的芯片实现的。我们来看下显…

linux-如何限制普通用户的磁盘使用空间-磁盘配额quota,Linux系统下如何进行磁盘配额Quota的设置...

Linux如何进行磁盘配额quota的设置通过quota进行磁盘配额&#xff0c;可以控制用户对磁盘空间和文件的控制&#xff0c;我们以一个实例作为说明&#xff0c;对&#xff12;个用户user01、user02分别进行磁盘使用空间和创建文件的限制。首先&#xff0c;创建一个新的分区&#x…

linux一台机器如何安装两个mysql,在一台linux机器上启动两个mysql实例

环境&#xff1a;linux主机上已经yum安装了mysql&#xff0c;而且数据库正在运行。在不关闭/重启mysql的情况下&#xff0c;重新启动一个新的mysql实例&#xff0c;使用3307端口&#xff0c;实现一台机器上同时运行两个数据库实例。1、创建新的mysql实例数据存储目录&#xff1…

linux和windows启动,Linux和Windows双系统的启动

问题Linux和Windows双系统的启动解决方案在某些特殊情况下&#xff0c;服务器可能要安装双系统一个linux系统&#xff0c;一个windows系统这种情况下&#xff0c;安装顺序是&#xff0c;先装Windows系统&#xff0c;后装Linux这是因为&#xff0c;Linux的引导程序grub具备多系统…

体积最小桌面linux,Tiny Core Linux - 体积最小的精简 Linux 操作系统发行版之一 (仅10多MB)...

Tiny Core Linux (TCL) 是一款极体积极小且高度可扩展的微型 Linux 发行版&#xff0c;它将一个 Linux 操作系统精简到仅有 10 多 MB 左右的大小&#xff0c;似乎小巧得有点让人叹为观止&#xff01;要知道无论是常见的 Ubuntu、CentOS、Debian 的体积动辄就是几百MB甚至要上GB…

linux下缓存命中测试,Linux 性能优化实战(倪朋飞)---查看缓存命中情况

cachestat 提供了整个操作系统缓存的读写命中情况。cachetop 提供了每个进程的缓存命中情况。但是&#xff0c;cachetop 并不把直接 I/O 算进来。安装 cachestat、cachetop&#xff1a;$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4052245BD4284CDD$ ech…

linux suid提权原理,Linux SUID、SGID、sticky提权

S UID SGID SOID 核心就在 “S” &#xff0c;S就是允许本圈子 用户有r,w,x ;例如&#xff1a;1、chmod sg test.txt 只允许testex.txt所在的组 员可以执行r,w,x2、chmod us test.txt2 只允许test.txt2的属主 执行r,w,x温馨提示&#xff1a;对SUID只需要有个了解就行了&#xf…

linux新建samba账户,ubuntu上创建账户和samba用户

系统环境&#xff1a;Linux ubuntu152 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 x86_64x86_64 GNU/Linux系统用户登录创建linux账户:1. sudo adduser username --home /home/username执行该命令后需要两次输入账户密码&#xff0c;连续回车&…

linux xorg.0.log,Red Hat无法登录,Cannot open log file /var/log/Xorg.0.log

命令截面输入ROOT帐号无效&#xff0c;几秒后弹出报错页面I cannot start the X server (your graphical interface ) It is likely it is not setup correctlyWould you like to view the X server output diagrose the problem?然后按YES后跳出Fatal server error:Cannot o…

c程序语言习题解答对编程有帮助吗,给C语言编程初学者的10个学习建议,助你学习事半功倍,不要错过...

对于初学者应该如何学习C语言编程开发技术&#xff0c;纵观中国目前整体行业来说&#xff0c;互联网IT行业 成为了拔尖的行业&#xff0c;IT互联网程序开发成了靠自己能力可以多挣一点钱&#xff0c;所以各个行业都在转行&#xff0c;其实互联网不存在饱和&#xff0c;只不过大…

跟世界打个招呼c语言编程,(一)helloworld

Idea下用SBT搭建Spark Helloworld没用过IDEA工具,听说跟Eclipse差不多,sbt在Idea其实就等于maven在Eclipse.Spark运行在JVM中,所以要在Idea下运行spark,就先要安装JDK 1.8 然后加入S ...菜鸟学Struts2——HelloWorld写在前面 自从工作后就过上了只有一个月记忆的生活,太健忘,很…