Answer:
Here is the Java code for the Grilled Rump Steak ordering app:
```
public class GrilledRumpSteak {
 private String size;
 private int salsaToppings;
 private int tomatoToppings;
 private int mushroomToppings;
 public GrilledRumpSteak(String size, int salsaToppings, int tomatoToppings, int mushroomToppings) {
 this.size = size;
 this.salsaToppings = salsaToppings;
 this.tomatoToppings = tomatoToppings;
 this.mushroomToppings = mushroomToppings;
 }
 public String getSize() {
 return size;
 }
 public void setSize(String size) {
 this.size = size;
 }
 public int getSalsaToppings() {
 return salsaToppings;
 }
 public void setSalsaToppings(int salsaToppings) {
 this.salsaToppings = salsaToppings;
 }
 public int getTomatoToppings() {
 return tomatoToppings;
 }
 public void setTomatoToppings(int tomatoToppings) {
 this.tomatoToppings = tomatoToppings;
 }
 public int getMushroomToppings() {
 return mushroomToppings;
 }
 public void setMushroomToppings(int mushroomToppings) {
 this.mushroomToppings = mushroomToppings;
 }
 public double calcCost() {
 double cost = 0;
 if (size.equals("Large")) {
 cost = 200 + (30 * (salsaToppings + tomatoToppings + mushroomToppings));
 } else if (size.equals("Medium")) {
 cost = 150 + (20 * (salsaToppings + tomatoToppings + mushroomToppings));
 } else if (size.equals("Small")) {
 cost = 120 + (15 * (salsaToppings + tomatoToppings + mushroomToppings));
 }
 return cost;
 }
 public String getDescription() {
 return size + " rump with " + salsaToppings + " salsa topping(s), " + tomatoToppings + " tomato topping(s), and " + mushroomToppings + " mushroom topping(s)";
 }
}
```
Here is the Java code for the GrilledRumpSteakOrder class that allows up to three grilled rump steaks to be saved in order:
```
public class GrilledRumpSteakOrder {
 private ArrayList<GrilledRumpSteak> order;
 public GrilledRumpSteakOrder() {
 order = new ArrayList<GrilledRumpSteak>();
 }
 public void addGrilledRumpSteak(GrilledRumpSteak rump) {
 if (order.size() < 3) {
 order.add(rump);
 } else {
 System.out.println("Maximum of 3 Grilled Rump Steaks per order.");
 }
 }
 public double calcTotal() {
 double total = 0;
 for (GrilledRumpSteak rump : order) {
 total += rump.calcCost();
 }
 return total;
 }
}
```
To test the code, you can write the following code in the main method:
```
public static void main(String[] args) {
 GrilledRumpSteak rump1 = new GrilledRumpSteak("Large", 1, 1, 2);
 GrilledRumpSteak rump2 = new GrilledRumpSteak("Medium", 2, 0, 1);
 GrilledRumpSteak rump3 = new GrilledRumpSteak("Small", 0, 3, 1);
 System.out.println(rump1.getDescription() + " - Cost: R" + rump1.calcCost());
 System.out.println(rump2.getDescription() + " - Cost: R" + rump2.calcCost());
 System.out.println(rump3.getDescription() + " - Cost: R" + rump3.calcCost());
 GrilledRumpSteakOrder order = new GrilledRumpSteakOrder();
 order.addGrilledRumpSteak(rump1);
 order.addGrilledRumpSteak(rump2);
 order.addGrilledRumpSteak(rump3);
 System.out.println("Total cost of order: R" +