You are on page 1of 4

package lab20_polymorphism2;

import java.util.Scanner;

public class Lab20_POLYMORPHISM2 {

public static void main(String[] args) {


// TODO code application logic here
int numofbits;
int dmethod;
String e;
Scanner input=new Scanner(System.in);
stationTm obj1=new stationTm();
System.out.println("for User of Tm or T1: ");
System.out.print("please enter number of bits to be generated : ");
numofbits=input.nextInt();
e=obj1.generation2(numofbits);
obj1.display();
System.out.print("Please choose your modulation method- 1 for TM - 2 for T1:
");
dmethod=input.nextInt();
if (dmethod==1){

obj1.Voltage(e);
}
if (dmethod==2){
obj1= new T1();
obj1.Voltage(e);
}
System.out.println("");
System.out.println("for User of T1 or T2: ");
System.out.print("please enter number of bits to be generated : ");
numofbits=input.nextInt();
e=obj1.generation2(numofbits);
obj1.display();
System.out.print("Please choose your modulation method- 1 for T1 - 2 for T2:
");
dmethod=input.nextInt();
if (dmethod==1){
obj1= new T1();
obj1.Voltage(e);
}
if (dmethod==2){
obj1= new T2();
obj1.Voltage(e);
}
}
}

class stationTm{

String bitgen="";

String generation2(int bits){


for (int i=0;i<bits;i++){

bitgen=bitgen+ (Integer.toString((int) (Math.random()*2)));

return bitgen;
}

void display(){
System.out.println("generated code is: "+ bitgen );
}

void Voltage(String y){


String x;

System.out.print("Voltage is: ");

for (int i=0;i<y.length();i++){


x=(String.valueOf(y.charAt(i)));

if ( "0".equals(x)){
System.out.print(" -2");
} else {
}
if ("1".equals(x)){
System.out.print(" +2");
}
}
System.out.println("");
}
}

class T1 extends stationTm{


@Override
void Voltage(String y){
String x;
System.out.println("Voltage is: ");

for (int i=0;i<y.length();i=i+2){

x=y.substring(i,i+2);

if ("00".equals(x)){
System.out.print(" -4");
}
if ("01".equals(x)){
System.out.print(" -2");
}
if ("10".equals(x)){
System.out.print(" +2");
}
if ("11".equals(x)){
System.out.print(" +4");
}
if(i+2==y.length()-1){
x=y.substring(y.length()-1);
if ( "0".equals(x)){
System.out.print(" -2");

}
if ("1".equals(x)){
System.out.print(" +2");
}
break;
}

}
System.out.println("");
}
}

class T2 extends T1{


@Override
void Voltage(String y){
String x;
System.out.println("Voltage is: ");

for (int i=0;i<y.length();i=i+3){

x=y.substring(i,i+3);

if ("000".equals(x)){
System.out.print(" -8");
}
if ("001".equals(x)){
System.out.print(" -6");
}
if ("010".equals(x)){
System.out.print(" -4");
}
if ("011".equals(x)){
System.out.print(" -2");
}
if ("100".equals(x)){
System.out.print(" 2");
}
if ("110".equals(x)){
System.out.print(" 4");
}
if ("101".equals(x)){
System.out.print(" 6");
}
if ("111".equals(x)){
System.out.print(" 8");

}
if(i+3==y.length()-1){
x=y.substring(y.length()-1);
if ( "0".equals(x)){
System.out.print(" -2");

}
if ("1".equals(x)){
System.out.print(" +2");
}

break;
}
if(i+3==y.length()-2){
x=y.substring(y.length()-2);
if ("00".equals(x)){
System.out.print(" -4");
}
if ("01".equals(x)){
System.out.print(" -2");
}
if ("10".equals(x)){
System.out.print(" +2");
}
if ("11".equals(x)){
System.out.print(" +4");
}
break;
}

}
System.out.println("");
}

You might also like