You are on page 1of 12

a.

A Multiplication Table method called void table(int, int) which takes as parameters, rows and
columns, nicely formatted with headings, using printf().

Code

Output
b. Overload the void table(double, int) function and create an Exponentiation Table which takes as
parameters, rows and columns (which would be the base and exponent).

Code

OUTPUT
c. You can have the table() function call other functions which you create called multiply(n, n) or
power(n, e)

CODE

d. A member method called void primes(void) which generates the first 10 prime numbers, nicely
formatted using printf().
CODE
OUTPUT

e. An overload of primes called void primes(int) which accepts a value inputted from the user in
main() (up to 50) and generates that number of primes, nicely formatted with printf()

CODE
OUTPUT

f. A method called void circle(void) which prompts the user for the radius and displays the area
and circumference of a circle.

CODE
OUTPUT

g. A method called double stats(int n) which prompts the user to enter n (1-10) values and returns
the mean (average) of the values.

CODE
OUTPUT

h. An overload of stats() called void stats() which generates 10 random numbers and displays the
mean and sum of the values.

CODE
OUTPUT

i. A method called void ascii() which takes the start and end values validated in main() and
generates a table.

CODE
OUTPUT
Main.java
package com.sanj;

public class Main {

public static void main(String[] args) {


Calculator calcEngine = new Calculator();
System.out.println("\n\t\tWelcome to the Calculator Program!\n\n"
+
"1. Create Multiplication Table (up to 10x10)\n" +
"2. Create Exponentiation Table (up to 5x5)\n" +
"3. Show the first 10 prime numbers\n" +
"4. Show a list of prime numbers (up to 50)\n" +
"5. Find the area and circumference of a circle (provide
diameter)\n" +
"6. Generate statistics for a list of inputted values (up
to 10), including mean, and sum\n" +
"7. Generate statistics for a list of random values (up to
10), including mean, and sum\n" +
"8. Generate a table showing ASCII values for a range
(validated between 32 and 126)\n" +
"9. Conversion of\n" +
"\ta. Cubic Inches to Cubic Centimeters\n" +
"\tb. Feet to Meters\n" +
"\tc. Pounds to Kilograms\n" +
"\td. Fahrenheit to Celsius:\n\n" +
"Please enter your selection:");
String userChoice= calcEngine.getScanner().next();

switch (userChoice){
case "1":
prepareMultiplicationTable(calcEngine);
break;
case "2":
prepareExponentialTable(calcEngine);
break;
case "3":
calcEngine.primes();
break;
case "4":
inputPrimeNumbersLimit(calcEngine);
break;
case "5":
calcEngine.circle();
break;
case "6":
inputLimitOfStats(calcEngine);
break;
case "7":
calcEngine.stats();
break;
case "8":
prepareAsciiTable(calcEngine);
break;
case "9":
conversionMenu(calcEngine);
break;
default:
calcEngine.conversion(userChoice);
break;

}
}

private static void prepareAsciiTable(Calculator calcEngine) {


System.out.println("Enter starting value");
int startingValue=calcEngine.getScanner().nextInt();
System.out.println("Enter end value");
int endValue=calcEngine.getScanner().nextInt();
if (startingValue>=32 && endValue<=126){
calcEngine.ascii(startingValue,endValue);
}else{
System.out.println("Limit exceeded, limit starting value > 32
and end value < 126");
}
}

private static void prepareExponentialTable(Calculator calcEngine) {


System.out.println("Enter base");
double base=calcEngine.getScanner().nextDouble();
System.out.println("Enter exponent");
int exponent=calcEngine.getScanner().nextInt();
if (base<=5 && exponent<=5){
calcEngine.table(base,exponent);
}else{
System.out.println("Limit exceeded, limit base 5 and exponent
5");
}
}

private static void prepareMultiplicationTable(Calculator calcEngine)


{
System.out.println("Enter number row");
int row=calcEngine.getScanner().nextInt();
System.out.println("Enter number columns");
int column=calcEngine.getScanner().nextInt();
if (row<=10 && column<=10){
calcEngine.table(row,column);
}else{
System.out.println("Limit exceeded, limit 10 rows and 10
column");
}
}

private static void conversionMenu(Calculator calcEngine) {


System.out.println("Conversion of\n" +
"\ta. Cubic Inches to Cubic Centimeters\n" +
"\tb. Feet to Meters\n" +
"\tc. Pounds to Kilograms\n" +
"\td. Fahrenheit to Celsius:\n\n" +
"Please enter your selection:");
String userChoice= calcEngine.getScanner().next();
calcEngine.conversion(userChoice);
}

private static void inputLimitOfStats(Calculator calcEngine) {


System.out.println("Please enter the number of values to get
statistics: ");
int limit= calcEngine.getScanner().nextInt();
if (limit<=10){
double average=calcEngine.stats(limit);
System.out.println("Average of the values is "+average);
}else{
System.out.println("Limit exceeded, limit is 10");
}
}

private static void inputPrimeNumbersLimit(Calculator calcEngine) {


System.out.println("Please enter the number of prime numbers to
generate: ");
int limit= calcEngine.getScanner().nextInt();
if (limit<=50){
calcEngine.primes(limit);
}else{
System.out.println("Limit exceeded, limit is 50");
}
}
}

You might also like