继上一篇 "如果诸葛亮用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版出师表就新鲜出炉了,和上篇声明一样,纯粹无聊写着玩,读者别在意枚举、类名、变量中文命名,纯粹为了娱乐。

出师表背景再来一次

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

蜀章武元年(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 丞相(); 诸葛亮.回首往事(); 诸葛亮.表忠心(); 诸葛亮.请战(); // 此臣所以报先帝而忠陛下之职分也 诸葛亮.道别();}复制代码代码输出《出师表》

出师表部分输出

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

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

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

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

  1. 粤教版高中信息技术必修一《数据与计算》第一章:python编程作ASCII编码excel表

    粤教版高中信息技术必修一<数据与计算>第一章 python编程作ASCII编码excel表 知识点: 1.循环语句 2.条件语句 3.格式化输出:format, f'{} 格式化  三个方 ...

  2. JAVA用数据留给出师表排序,缓冲流:出师表排序

    缓冲流:出师表排序 描述: 要求将文件的内容复制到另一个文件中并恢复行号的顺序 3.侍中.侍郎郭攸之.费祎.董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下.愚以为宫中之事,事无大小,悉以咨 之,然后 ...

  3. java实现apriori算法_各种排序算法的分析及java实现(一)

    阅读本文约需要7分钟 大家好,我是你们的导师,我每天都会在这里给大家分享一些干货内容(当然了,周末也要允许老师休息一下哈).上次老师跟大家分享了下用Navicat for Mysql导入.sql文件的 ...

  4. java实现数据库主键的更新_Java获取数据库自增主键表中插入数据的ID

    这段代码是为了解决,JDBC中在给自增表插入数据后获取插入数据自动生成的ID问题.上网找了半天资料,原来在JDK中有提供方法哎. 参考资料点击打开链接感谢诸位高手的指点. 直接上代码吧: /** * ...

  5. 阿里开源(EasyExcel):使用Java将数据导出为Excel表格、带样式----》java web下载 Excel文件

    目录 一.技术选型 二.实现过程 1.导入依赖 2.编写工具类 EasyExcelUtil 3.公用参数类 EasyExcelParams 4.表格样式实体类 MyWriteHandler 5.数据实 ...

  6. java怎么从大到小排序元祖_在java中对元组列表进行排序的有效方法

    给定的通用数据类型看起来像这样:HashMap< EdgeTuple,Double> edgeList其中tuple是一个EdgeTuple类,Double是一个对任务不重要的权重: cl ...

  7. Windows注册表--32位和64位程序写注册表位置

    前言 最近遇到个关于注册表的神奇的事情,当使用RegCreateKeyEx+KEY_WOW64_64KEY在win7环境下写HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ ...

  8. 数据模拟:利用Java模拟数据(姓名,邮箱,地址,电话等信息,时间,工资,1-10随机数)并存入mysql

    学大数据分析的同学们在做数据分析时一般很难找到适合数据集,本文就来分享一下如何利用Java模拟数据,并将产生数据保存至mysql数据库中. 主要技术就是Java产生数据,利用mybatis存入mysq ...

  9. 零基础学Java大数据难不难

    java大数据如今在企业中用到的次数是非常多的,很多人都比较看好java技术,那么零基础学Java大数据难不难?想要学习java技术说难不难,说简单也不是很简单,来看看下面的详细介绍就知道了. 零基础 ...

最新文章

  1. 计算机动漫与游戏制作画画教学,科普下动漫制作必须会画画吗
  2. 30天打造专业红客二
  3. 使用java.util.zip包实现根据文件目录控制文件的压缩与解压
  4. CUDA ---- Hello World From GPU
  5. Java中TimeZone(时区)类的简单使用
  6. GPU大百科全书 第二章 凝固生命的光栅化
  7. (日常搬砖) ubuntu18.04 向日葵卡死/软件界面卡死
  8. 小程序开发流程详细,小程序开发教程
  9. amr转换成mp3 java_微信开发-将amr格式转换为mp3格式
  10. 谷歌出品!机器学习常用术语总结
  11. python求学生成绩平均值_python 计算student_grade.txt 中 语文成绩的平均值, 找出数学成绩最高的学生是谁...
  12. 如何理解 Python 之禅:Explicit is better than implicit?
  13. 国外最流行的Bootstrap后台管理模板
  14. css交集选择器的使用
  15. 沃丰科技:AI赋能泛CRM,为新企服扬风鼓帆
  16. AirDisk存宝 【S3\S6简易使用说明】
  17. 用c++写一个cps测试
  18. JAVA实现 PDF转换 常用工具类(html转PDF、PDF添加页码、PDF文件下载、PDF添加印章或者水印)
  19. 台达PLC与单片机的通讯
  20. javaweb课程设计网上书店

热门文章

  1. C语言——Hello World
  2. 2017年原生广告程序化购买将成为新趋势
  3. 中国城市人均月收入已突破9000人民币大关[转载]
  4. 小红书-笔记灵感-项目总结
  5. 熊猫烧香制造者李俊出狱以后的六种出路
  6. 桥梁防撞智能预警系统方案
  7. 计算机中丢失d3dcompiler_47,玩游戏提示缺少D3DCompiler_47.dll文件怎么解决?
  8. 物联网平台如何切入智慧校园
  9. 新氧《2021中国医美抗衰消费趋势报告》:医美抗衰市场规模超755亿元
  10. 2.4 设计评选优秀教师和学生的程序,其类结构如图 12.5 所示。当输入一系列教师 或学生的记录后,将优秀学生及教师的姓名列出来。 图 12.5 类结构 类 base char name[8]; 含