1         /// <summary>
 2         /// 根据数字确定八卦的上下卦,以及爻
 3         /// </summary>
 4         /// <param name="numbs"></param>
 5         /// <returns></returns>
 6         private static List<int> ComputerEightDiagrams(List<int> numbs)
 7         {
 8             List<int> dias = new List<int>();
 9
10             for (int i = 0; i < numbs.Count; i++)
11             {
12                 if (i != numbs.Count - 1)
13                 {
14                     var m = numbs[i] % 8;
15
16                     if (m == 0) m = 8;
17
18                     dias.Add(m);
19
20                 }
21                 else
22                 {
23                     var n = numbs[i] % 6;
24
25                     if (n == 0) n = 6;
26
27                     dias.Add(n);
28                 }
29             }
30             return dias;
31         }

根据用户的输入确定是哪一卦,哪一爻。

下面的代码是如何在控制台打印八卦图:

 1         private static void Print(List<int> diagrams)
 2         {
 3             //存储
 4             string[] keys = { "111", "011", "101", "001", "110", "010", "100", "000" };
 5
 6             var up = diagrams[1];
 7             var down = diagrams[0];
 8
 9             var upStr = keys[up - 1];
10             var downStr = keys[down - 1];
11
12             n = 0;
13             PrintYao(upStr.ToCharArray(), diagrams[2]);
14             PrintYao(downStr.ToCharArray(), diagrams[2]);
15
16             Console.ResetColor();
17         }
18
19         private static int n = 0;
20         private static void PrintYao(char[] chars, int yao)
21         {
22             bool isYao=false;
23
24             foreach (var item in chars)
25             {
26                 n++;
27
28                 Console.WriteLine("");
29
30                 isYao = n == 6 - yao + 1;
31
32                 if (item == '1')
33                 {
34                     Console.BackgroundColor =isYao? ConsoleColor.Yellow:ConsoleColor.Blue;
35                     Console.WriteLine("            ");
36                 }
37                 else if (item == '0')
38                 {
39                     Console.BackgroundColor = isYao ? ConsoleColor.Yellow : ConsoleColor.DarkRed;
40
41                     var color = Console.BackgroundColor;
42
43                     Console.Write("     ");
44
45                     Console.ResetColor();
46                     Console.Write("  ");
47
48                     Console.BackgroundColor = color;
49                     Console.Write("     ");
50                     Console.Write("\r\n");
51                 }
52             }
53         }

diagrams,存储了上卦和下卦的顺序,其中keys数组中存储了八卦的爻信息,1:阳爻,0:阴爻。比如 111代表乾卦。此程序运行效果如下:

高亮:代表算出的爻。下载完整的代码:https://github.com/wangqiang3311/mywork

转载于:https://www.cnblogs.com/wangqiang3311/p/7125444.html

周易八卦——数字卦预测的程序实现相关推荐

  1. JAVA学习日志 关于周易数字卦的一个算法

    最近开始学习JAVA语言.昨天一天看了尚学堂的视频.13集.学的比较浅,第一个拿来练手的程序就用周易吧.因为经常占卜数字卦,所以利用这个方法写了个简短的程序.设计初期,希望实现输入三个数字,能算出上卦 ...

  2. 周易八卦预测2012

    前几日看Discover频道的记录片<解码世界2012>,提到中国古老的周易预测到2012将是世界末日,也提到玛雅历法.甚至提到一个神秘的互联网软件也可以预知未来,也预测到2012将是世界 ...

  3. JAVA学习日志 关于调用方法、生成对象的例子。还是用数字卦程序修改

    今天学习如何调用方法,生成,建立对象.将程序在原数字卦程序里做了很多修改.多了一个CalculateData对象,作为存储卦象信息,增加了名字,便于以后学会存储之后多人进行记录.输入部分从原来的nex ...

  4. 使用SQL Server数据库指标预测应用程序问题

    摘要 (Summary) Database metrics can be collected, maintained, and used to help predict when processes ...

  5. matlab中的灰色预测,灰色预测MATLAB程序

    <灰色预测MATLAB程序>由会员分享,可在线阅读,更多相关<灰色预测MATLAB程序(11页珍藏版)>请在人人文库网上搜索. 1.实用标准文档灰色预测彷设曲七叫L叫耳/叫励 ...

  6. java全自动周易八卦算命超准

    java周易八卦算命,挺准的 import java.util.ArrayList; import java.util.List; import java.util.Random;public cla ...

  7. Java黑皮书课后题第3章:3.12(回文数字)编写一个程序,提示用户输入一个三位的整数,然后确定它是否是回文数

    3.12(回文数字)编写一个程序,提示用户输入一个三位的整数,然后确定它是否是回文数 题目 题目描述 示例 破题 代码 题目 题目描述 3.12(回文数字)编写一个程序,提示用户输入一个三位的整数,然 ...

  8. 周易六十四卦——火水未济卦

    周易最后一卦,未济. 事实上,整个天地万物的生死推演,成住坏空,在前面一卦既济卦已经可以说是完全完备了.乾卦开始生天地,然后阴阳交而生屯蒙,这样一路下来,到既济卦,万物充实,集于大成,已经是到了顶峰. ...

  9. LL(1)预测分析程序

    分析程序源代码: LL1分析程序(包含c源码) 文法: E -> E+F | E-F | T T -> T*F | T/F | F F -> i | (E) 注:这实际上就是包含括号 ...

最新文章

  1. win10突然打开matlab闪退,win10上的应用打开会闪退,直接闪退
  2. 判断dialog是否显示_如何成为一流的仪表维修工之液位测量仪表故障检查判断思路...
  3. Apollo自动驾驶入门课程第⑦讲 — 规划(上)
  4. 如何将CSS3 transforms应用于背景图像
  5. 因 inode 不足导致数据库登陆报错相关问题
  6. 如何将unity3d动画嵌入html,在Unity3D中使用精灵动画引擎制作动画的两种方法
  7. 十、IO输入输出流,装饰模式
  8. 卷积自编码器_GCLGP | 图卷积高斯过程
  9. 【新冠肺炎】SIR模型预测与数据分析之代码篇
  10. Windows10蓝屏的诸多解决方法
  11. 计算机网卡不连接网络连接怎么办,台式机无线网卡连接不上网络怎么办
  12. CodeForces - 1324D Pair of Topics (分治+排序)
  13. android 摄像头检测工具,检摄app下载-检摄软件(检测摄像头)下载 v1.0.7安卓版_5577安卓网...
  14. NXP JN5169 使用看门狗定时器
  15. textRNN textCNN(及代码实现)
  16. 免费好用的全球交友软件:Tandem(口语练习必备)!!!
  17. java实现打印机打印发票路径
  18. 生信软件4 - 拷贝数变异CNV分析软件 WisecondorX
  19. 平面广告设计基本的要素有哪些
  20. A. Magical Sticks

热门文章

  1. 都用无线技术,差距咋就这么大呢
  2. java开发微信设计论文_集客微信公众号: 本科毕业设计:基于WxJava框架的集客微信公众号的设计与实现...
  3. Windows Workflow Foundation(一)
  4. matlab 指纹,一种基于matlab的指纹识别方法
  5. bd09转wgs84 java_各种坐标系互相转换(WGS84转换BD-09主要)
  6. eclipse出现Parameter index out of range (1 number of parameters, which is 0)报错
  7. 与Java相关的四十个名字 (2005.08.18 来自:《程序员》杂志)
  8. linux 软件包kbd 位置,linux系统安装包的管理
  9. HI3861学习笔记(14)——ADC接口使用
  10. Flutter Candies 一桶天下,一个小例子彻底搞懂Android的MVP模式到底是什么