编程算法基础-2.7作业-通讯编码-格式检查
作业
通信编码
如果通信的物理设备仅仅能表示1和0两种状态。
1和0状态都不能持续太久,否则物理设备会出现问题。因而人们设计出一种变通的方法:
多个0后人为地补入一个1
多个1后人为地补入一个0
当然,在解码的时候,要对应处理。
以下我们用串来模拟这个算法。
如果有须要通信的串:
String s = "1010100100100001011110100010101010100001010101111";
连续的3个0,后须要插入一个1
连续的3个1,后须要输入一个0
10101001001000101011101010001101010....
想一想,加码处理后,须要把它再解码出来。
/* 通信编码 如果通信的物理设备仅仅能表示1和0两种状态。 1和0状态都不能持续太久,否则物理设备会出现问题。因而人们设计出一种变通的方法: 多个0后人为地补入一个1 多个1后人为地补入一个0 当然,在解码的时候,要对应处理。 以下我们用串来模拟这个算法。 如果有须要通信的串: String s = "1010100100100001011110100010101010100001010101111"; 连续的3个0,后须要插入一个1 连续的3个1,后须要输入一个0 10101001001000101011101010001101010.... 想一想,加码处理后,须要把它再解码出来。 */ package Homework; public class ConnectionCode { public static void main(String[] args) { String s = "1010100100100001011110100010101010100001010101111"; System.out.println("原串:"+s); s = s.replaceAll("[0]{3}", "0001"); s = s.replaceAll("[1]{3}", "1110"); System.out.println("加密:"+s); s = s.replaceAll("[0]{3}[1]{1}", "000"); s = s.replaceAll("[1]{3}[0]{1}", "111"); System.out.println("解密:"+s); } }
原串:1010100100100001011110100010101010100001010101111 加密:101010010010001010111010100011010101010001010101011101 解密:1010100100100001011110100010101010100001010101111上面的代码执行效率慢的一笔,我懒得写成复杂的那种了。
格式检查
这道题不知所云,求大神指导
xml 文件主要是由标签构成的。
类似:
.....
.dfsfs
kkkk
请编写一个程序,可以发现当中匹配不完整的标签。
比如:
sdfsfs
此时,标签的匹配就是不完整的。
就算查看了html代码也不知所云
<p style="text-indent: 2em;"> <span><span style="font-size: small;"> xml 文件主要是由标签构成的。</span> </span> </p> <p style="text-indent: 2em;">相似:</p> <p style="text-indent: 2em;"> <a> <br> <strong>.....</strong> <br> <strong> <br> .dfsfs <br> </strong> <br> <br> kkkk <br> </a> </p> <p style="text-indent: 2em;">请编写一个程序,可以发现当中匹配不完整的标签。</p> <p style="text-indent: 2em;">比如:</p> <p style="text-indent: 2em;"> <a> <br> <strong> sdfsfs <br> </strong> </a> </p> <p style="text-indent: 2em;"> 此时,<strong> 标签的匹配就是不完整的。</strong> </p>