Error Detection Using Checksum


import java.util.*;
class Compute
{
public static String complement(String s)
{
StringBuffer d= new StringBuffer(s);
for(int i=0;i<d.length();i++)
{
if(d.charAt(i)=='1')
d.setCharAt(i,'0');
else
d.setCharAt(i,'1');
}
String j=d.toString();

return j;
}
public static String checksum(int sum)
{
String s;

s=Integer.toBinaryString(sum);

System.out.println("the sum in binary is"+s);
String z=s.substring(0,2);
String y=s.substring(2,s.length());
StringBuffer sb1=new StringBuffer(z);
StringBuffer sb2=new StringBuffer(y);
System.out.println(sb1);
System.out.println(sb2);
for(int i=0;i<2;i++)
{

char ch1,ch2;
ch1=sb1.charAt(i);
int l=(int)ch1;
ch2=sb2.charAt((sb2.length()/2)+i);
int m=(int)ch2;
char ch;
ch=(char)(l|m);
sb2.setCharAt((sb2.length()/2)+i,ch);

}
System.out.println("the wrapped sum is"+sb2);
String e=sb2.toString();
String h;
h=Compute.complement(e);
return h;
}
}

class Cs
{
public static void main(String args[])
{
Scanner src= new Scanner(System.in);
int a[],n;
int sum=0;
System.out.println("enter the no of frames to be sent");
 n=src.nextInt();
a=new int[n];
System.out.println("enter the frames");
for(int i=0;i<n;i++)
a[i]=src.nextInt();
for(int i=0;i<n;i++)
sum=sum+a[i];
System.out.println("the sum is"+sum);
String scs=Compute.checksum(sum);
System.out.println("the check sum is"+scs);
int g=Integer.parseInt(scs,2);
System.out.println(g);
System.out.println("frames sent will be");
for(int i=0;i<a.length;i++)
System.out.print(a[i]+" ");
System.out.println(g);
int sum2=0;
sum2=sum+g;
String f=Compute.checksum(sum2);
System.out.println(" Cheksum at reciever:"+f);
if(f.equals("0000"))
System.out.println(" NO ERROR");
else
System.out.println("ERROR");



}
}
Error Detection Using Checksum

0 comments :