You are on page 1of 2

Election Algorithm using Token Ring

Code:
Import java.util.*;
classtokenelection{
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
booleancont = true;
int initiator = 0;
System.out.println("Enter no of processes:");
int n = sc.nextInt();
intnew_cord=0;
intactive_proc[] = new int[n];
while(cont){
System.out.println("1.Crash\n2.Election \n3.Recover");
intch = sc.nextInt();
switch(ch){
case 1:
System.out.println("Cordinator "+(n-1)+" failed");
for(int i=0;i<n;i++){
active_proc[i]=1;
}
active_proc[n-1]=0;
break;
case 2:
System.out.println("Enter the initiator");
initiator = sc.nextInt();
System.out.println("Sending election message!");
for(int i=initiator;i<n;i++){
if(active_proc[i]==1){
System.out.println("Process "+i+" says OK");
new_cord = i;
}
}
for(int i=0;i<initiator;i++){
if(active_proc[i]==1){
System.out.println("Process "+i+" says OK");
}
}
System.out.println("New Cordinator= "+new_cord);
break;
case 3:
active_proc[n-1]=1;
for(int i=initiator;i<n;i++){
if(active_proc[i]==1){
System.out.println("Process "+i+" says OK");

new_cord = i;
}
}
System.out.println("New Cordinator= "+new_cord);
break;
}
}
}
}
Output:

You might also like