📄 b_hdb3.java
字号:
import java.io.*;
import java.util.Scanner;
public class B_HDB3 {
public static void main(String[] args) {
int ML;
Scanner s = new Scanner(System.in);
System.out.print("请输入二进制码流的长度:");
ML=s.nextInt();
int[] Ma_Liu= new int[ML];
String b2;
Scanner sc = new Scanner(System.in);
System.out.print("******请输入二进制码流:");
b2 = sc.nextLine();
for (int i = 0; i < ML; i ++) {
char b=b2.charAt(i);
Ma_Liu[i]=Integer.parseInt(b+"");
}
int m1=0,n0=0,n1=0,c1=+1,c0=0,c3=0;
for(int i=0;i<ML;i++){
if(Ma_Liu[i]==1){c1=-c1;Ma_Liu[i]=c1;n1=n1+1;n0=0;}
else{n0=n0+1;}
if(n0==4){c3++;c1=-c1;
if(i-3>=0&&c3==1){c1=-c1;Ma_Liu[i]=c1;n0=0;n1=0;}
if(n1%2==0&&i-3>=0&&c3!=1){ Ma_Liu[i]=c1;Ma_Liu[i-3]=c1;n0=0;n1=0;}
if(n1%2!=0&&i-3>=0&&c3!=1){c1=-c1;Ma_Liu[i]=c1;n0=0;n1=0;}
}
}
System.out.print("**************HDB3码流:");
for (int i=0; i<ML; i++) {
if(Ma_Liu[i]==1){System.out.print("+"+Ma_Liu[i]+" ");}
else{ System.out.print(Ma_Liu[i]+" ");}}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -