用java实现的海明码及验证出错位
只是最简单的实现,可在其基础上实现其他功能。
import java.util.Scanner;
public class Ham {
Scanner enter=new Scanner(System.in);
String s_data; //输入的字符串类型的数据
int dlength; //输入数据的长度
int[] data; //将输入的数据转换成整型数据
int hlength; //海明码长度
int[] ham; //海明码
int plength; //校验位长度
int[] p; //校验位
int[] c; //验证出错位数的数组
void input(){
System.out.println("输入数据:");
String s_data=enter.nextLine();
dlength=s_data.length();
data=new int[dlength];
for(int i=0;i<dlength;i++){
data[i]=Integer.parseInt(s_data.substring(i, i+1));
//System.out.print(data[i]);
}
generateHam();
}
void generateHam(){
int i=1;
int label=1; //指向海明码的校验位
int k=data.length-1; //指向数据位
while(Math.pow(2, i)<dlength+i+1){
i++;
}
plength=i; //校验位位数
p=new int[plength];
c=new int[plength];
//System.out.println("plength "+plength);
hlength=dlength+plength;
ham=new int[hlength];
/*
* 向海明码中填写数据位
*/
for(int j=0;j<h
相关文档:
Java学习从入门到精通
一、 JDK (Java Development Kit)
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......
Java NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......
package demo;
class InOut{
String str=new String("Between");
static int i=666;
int j=888;
final int k=999;
public void amethod(final int iArgs){
int it315;
final int x=111;
/*static*/ class Bicycle
{
//&n ......
package demo;
class TA{
//这个程序要好好理解,常量不是属于类的,它在内存中有一块单独的存储区域,何类TA无任何关系
// public static final int m=9;
// 静态变量是属于类的,它的存储区域与类相关
public static int m=9;
static {
System.out.println("In Static m=" ......
我们知道栈是一种先进后出的数据容器。当一个栈的输入序列是递增序列(例如a,b,c,d),并且在进栈操作时,允许退栈操作,则输出的序列可能有多种形式(例如:d,c,b,a或a,c,b,d等)。但是却肯定不会出现如下出栈序列:a,d,b,c或d,a,b,c等。在输入序列为递增序列的假设下,请编写一个算法判断输入的字符串表示的出栈序列是否为 ......