📄 differentialmanchester.java
字号:
package wxj.code.impl;
import java.util.ArrayList;
import java.util.List;
import wxj.code.Code;
import wxj.Regular.LevelRule;
public class DifferentialManchester extends LevelRule implements Code {
private List<String> dManchesterCodeStrings = new ArrayList<String>();
private char[] cs;
private String level = FROM_LOW_LEVEL_HALF_TO_HIGH_LEVEL_HALF;
public DifferentialManchester(char[] cs, int initialLevel) {
this.cs = cs;
if (initialLevel == 0) {
this.level = FROM_LOW_LEVEL_HALF_TO_HIGH_LEVEL_HALF;
} else {
this.level = FROM_HIGH_LEVEL_HALF_TO_LOW_LEVEL_HALF;
}
}
public List<String> excuteCodeRule() {
int n = cs.length;
for (int i = 0; i < n; i++) {
if (cs[i] == '1') {
level = this.transform(level);
}
dManchesterCodeStrings.add(level);
}
return dManchesterCodeStrings;
}
private String transform(String level) {
if (level.endsWith(FROM_LOW_LEVEL_HALF_TO_HIGH_LEVEL_HALF)) {
return FROM_HIGH_LEVEL_HALF_TO_LOW_LEVEL_HALF;
} else {
return FROM_LOW_LEVEL_HALF_TO_HIGH_LEVEL_HALF;
}
}
public String getName() {
return "DManchester";
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -