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. 马斯克晒特斯拉Autopilot疯狂驾驶模式,称还要开发“极速惊魂”模式
  2. java中的关键字static(静态变量)和final定义常量
  3. Linux系统Git环境配置
  4. 众推平台架构——分布式爬虫
  5. python中字符串的几种表达方式(用什么方式表示字符串)
  6. 责任链(Chain of Responsibility Pattern)
  7. emWin 2天速成实例教程002_多个页面窗口切换
  8. 第八篇:Spring Boot整合Thymeleaf_入门试炼04
  9. 将字符串中的html标签编译,将字符串中的HTML标签包含的内容移除
  10. jvm lock低性能分析
  11. javascript中对象的运用
  12. discuz php 扩展环境 不支持,配置php扩展memcache
  13. Blue Prism如何成为RPA领域魔力象限领袖
  14. AJAX,PHP,前端简单交互制作输入框效果
  15. STM32F103校内赛-摇杆遥控器
  16. 学计算机女生考研什么专业好就业,适合女生考研易就业的十大专业有哪些
  17. Sentinel LDK配置记录
  18. 3.1 SQL是什么?它能做什么
  19. 快速安装部署camunda BPM社区版
  20. incident用法_“我出事故了”书到用时方恨少,事故用“incident”还是“accident”?...

热门文章

  1. Java程序:如何将句子(字符串)中的字母大小写转化
  2. K12教育小初高各个版本教材内的章节数据
  3. 企业电销如何获得高质量精准流量,大数据获客直击精准客流
  4. OpenCV-Python学习(18)—— OpenCV 图像几何变换之图像平移(cv.warpAffine)
  5. 盘点世界上最出名的十大黑客(每个都能改变历史的大神人物)
  6. 操作系统原理分析实验
  7. r语言提取cvs数据_r语言,csv数据,提取特定行
  8. 视频教程-软件测试入门视频教程-软件测试
  9. 转录因子VaERF16和VaMYB306相互作用增强葡萄对灰霉病的抗性
  10. “盘古”走向产业山峦,打开了一串AI落地的新脑洞