Design a parser that parse the given string and counts the member of character that match the given data.using the STACK or QUEUE
Example output
**
GIVEN STRING: a b c d e f g INPUT STRING: a c d e f No.of matches: five would you like to check other string? yes or no?
**
Hello Friend,
Try the following code:
import java.util.*;
class MatchString{ public static void accept(String st1,String st2){ int count=0; char ch1[]=st1.toCharArray(); Stack<Character> stack1=new Stack<Character>(); Stack<Character> stack2=new Stack<Character>(); char ch2[]=st2.toCharArray(); for(int i=0;i<ch1.length;i++){ stack1.push(Character.valueOf(ch1[i])); } for(int i=0;i<ch2.length;i++){ stack2.push(Character.valueOf(ch2[i])); } for(int i=0;i<stack2.size();i++){ if(stack1.contains(stack2.get(i))){ count++; } } System.out.println("No of matches: "+count); } public static void main(String[] args){ String st1="abcdefg"; Scanner input=new Scanner(System.in); System.out.println("Enter string: "); String st2=input.next(); String con=""; accept(st1,st2); do{ System.out.println("Would you like to check other string? yes or no?"); con=input.next(); if(con.equals("yes")){ System.out.println("Enter string: "); String st=input.next(); accept(st1,st); } else{ System.exit(0); } } while(!con.equals("No")); } }
Thanks
Ads