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.pswp.cn/news/443052.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/443052.shtml
英文地址,請注明出處:http://en.pswp.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寫在前面 自從工作后就過上了只有一個月記憶的生活,太健忘,很…