Homework 5, assigned MAR. 6 due MAR 20 at 11:59pm

### Part A

Write a program in which the main method calls a method with the heading public static int subtract(int num) that takes a three digit integer num> and does the following

• Decomposes it into three digits, digit1, digit2 and digit3.
• Using Math.max() and Math.min() determines the digits with the maximum and minimum value and assign them to maxDigit and minDigit respectively.
• Using Prog2.java from MAR 6, determine the middle digit and assigns it to midDigit.
• Constructs an integer, ascend in which these digits appear in ascending order. For instance, if the original value of num was 673, the constructed integer would be 367.
• Repeats the last step but this time produces the digits in descending order. So in our example, it would produce 763. It assigns this to descend.
• Prints these two values.
• Subtracts these two numbers (descend - ascend) and returns this value in the method.

### Part B

Write another program that calls method subtract in a while loop until the the method returns a value that doesn't change, i.e., 495. This is somewhat tricky. Here are some suggestions:

• To simplify this, remove the print statments from method subtract.
• Assign a number, let's say 231 to a variable called number and 0 to one called previous before the while loop.
• In the loop, set previous to the value of number (we say that previous chases number) and obtain a new value for number.
• Choose the boolean expression in the while statement so that the loop eventually termintes.
• Your program should print all the values of number.