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.
Check out your Company Bowl for anonymous work chats.