Intuit interview question

2) Consider the program below a) public class ProgramGenerator {             public static class Expression {                         private int lhs;                                                 public int getLhs() {return lhs;}                         public int setLhs(int lhs) {this.lhs = lhs;}                                                 private int rhs;                         public int getRhs() {return rhs;}                         public int setRhs(int rhs) {this.rhs = rhs;}                                                 private String operator;                         public String getOperator() {return operator;}                         public String setOperator(String operator) {this.operator = operator;}                                     }               public static void generateProgram(ProgramGenerator.Expression expression) {                         System.out.println("public class ConstructedProgram {");                         System.out.println("public static void main(String[] args) {");                         System.out.print("System.out.println(");                         System.out.print(expression.getLhs());                         System.out.print(expression.getLhs()==7?"-":expression.getOperator());                         System.out.print(expression.getLhs()==7?expression.getRhs()*2 :expression.getRhs());                         System.out.println(");");                         System.out.println("}\n}");             }   ... }   What is the output of the following code snippet:             ProgramGenerator.Expression expression = new ProgramGenerator.Expression();             expression.setLhs(7);             expression.setRhs(5);             expression.setOperator("+");             ProgramGenerator.generateProgram(expression) b )Modify the class ProgramGenerator so that if LHS is 7, then the expression is changed in such a manner that the operator is inverted (i.e., + becomes - and - becomes +) and the RHS is multiplied by two. So, in the above example; the output of ConstructedProgram will be -3.