import java.util.*; class btheo { static char outlook[]= {'S','S','O','R','R','R','O','S','S','R','S','O','O','R'}; static char temperature[]= {'H','H','H','M','C','C','C','M','C','M','M','M','H','M'}; static char humidity[]= {'P','P','P','P','N','N','N','P','N','N','N','P','N','P'}; static char windy[]= {'F','T','F','F','F','T','T','F','F','F','T','T','F','T'}; static char class1[]= {'N','N','P','P','P','N','P','N','P','P','P','P','P','N'}; static double prob[][]=new double[4][2]; static double pp=9.0/14.0; static double npp=5.0/14.0; static int flag=0; static int flag1=0; static double play_N=1; static double notplay_N=1; static void cal_N(int a) { if(a==1) { for(int i=0; i<4; ++i) play_N*=prob[i][0]; play_N*=pp; //System.out.println("\nValue of N of play \n"+play_N); } Else { for(int i=0; i<4; ++i) notplay_N*=prob[i][1 notplay_N*=npp; //System.out.println("\nValue of N of No play \n"+notplay_N); } } static double cal_play_prob(char ch) { double prob=0; double count=0; if(flag==0) { for(int i=0; i<14; ++i) if(outlook[i]==ch && class1[i]=='P') ++count; prob=count/9.0; flag=1; } else if (flag==1) { for(int i=0; i<14; ++i) if(temperature[i]==ch && class1[i]=='P') ++count; prob=count/9.0; flag=2; } else if (flag==2) { for(int i=0; i<14; ++i) if(humidity[i]==ch && class1[i]=='P') ++count; prob=count/9.0; flag=3; } else if(flag==3) { for(int i=0; i<14; ++i) if(windy[i]==ch && class1[i]=='P') ++count; prob=count/9.0; } return prob; } static double cal_noplay_prob(char ch) { double prob=0; double count=0; if(flag1==0) { for(int i=0; i<14; ++i) if(outlook[i]==ch && class1[i]=='N') ++count; prob=count/5.0; flag1=1; } else if(flag1==1) { for(int i=0; i<14; ++i) if(temperature[i]==ch && class1[i]=='N') ++count; prob=count/5.0; flag1=2; } else if(flag1==2) { for(int i=0; i<14; ++i) if(humidity[i]==ch && class1[i]=='N') ++count; prob=count/5.0; flag1=3; } else if(flag1==3) { for(int i=0; i<14; ++i) if(windy[i]==ch && class1[i]=='N') ++count; prob=count/5.0; } return prob; } public static void main(String args[]) { Scanner scr=new Scanner(System.in); System.out.println("Table\n"); System.out.println("Outlook\t Temperature\t Humidity\t Windy \tClass"); for(int i=0; i<14; ++i) { System.out.print(outlook[i]+"\t\t"+temperature[i]+"\t\t"+humidity[i]+"\t\t"+windy[i]+"\t\t"+class1[i]); System.out.println(); } System.out.println("Menu:\nOutlook: Sunny=S Overcast=O Rain=R\tTemperature: Hot=H Mild=M Cool=C\n"); System.out.println("Humidity: Peak=P Normal=N\t\tWindy: True=T False=F\n\nYour input should belong to one of these classes.\n"); System.out.println("class1: Play=P class2:Not Play=NP"); System.out.println("\nEnter your input: example. t={rain,hot,peak,false} input will be R,H,P,F"); String s=scr.nextLine(); char ch; int count=0; for(int i=0; i<8; i+=2) { ch=s.charAt(i); prob[count][0]=cal_play_prob(ch); prob[count][1]=cal_noplay_prob(ch); ++count; } cal_N(1); cal_N(2); double pt=play_N+notplay_N; double prob_of_play=0; double prob_of_noplay=0; prob_of_play=play_N/pt; prob_of_noplay=notplay_N/pt; System.out.println("\nProbability of play "+prob_of_play); System.out.println("\nProbability of NO play "+prob_of_noplay ); if(prob_of_play>prob_of_noplay) System.out.println("\nThe new tuple classified under \"PLAY\" category.Hence there will be play!!!"); else System.out.println("\nThe new tuple classified under \"NO PLAY\" category.Hence there will be NO play."); } } }