JAVA Write a program to calculate the result of one of three operations (minimum
ID: 3606346 • Letter: J
Question
JAVA Write a program to calculate the result of one of three operations (minimum, L1 norm, L2 norm) on a vector of three numbers. To begin, have the user input three numbers at the keyboard (e.g. -1 2 3). Then, ask the user to type in an operation (valid operations are “min”, “l1”, or “l2”; all letters are lowercase). Assuming the user types a valid operation, your program should compute and output to the screen the result based upon the three numbers; otherwise output an error. For “min”, the result is the minimum of the three numbers (i.e. -1). For “l1”, the result is the sum of the absolute values of the three numbers (i.e. |-1| + |2| + |3| = 1 + 2 + 3 = 6). For “l2”, the result is the square root of the sum of the squares (i.e. (1)% + (2)% + (3)% = 1 + 4 + 9 = 14 = 3.74). Example runs: Enter three numbers: -1 2 3 Enter operation: min min(-1.00, 2.00, 3.00) = -1.00 Enter three numbers: -1 2 3 Enter operation: l1 l1(-1.00, 2.00, 3.00) = 6.00 Enter three numbers: -1 2 3 Enter operation: l2 l2(-1.00, 2.00, 3.00) = 3.74 Enter three numbers: -1 2 3 Enter operation: foobar Invalid operation! Enter three numbers: -1 2 3 Enter operation: MIN Invalid operation!
Explanation / Answer
import java.io.*;
import java.util.*;
import java.lang.*;
public class DemoOp{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.print("Enter three numbers :");
double a = sc.nextDouble();
double b = sc.nextDouble();
double c = sc.nextDouble();
System.out.print("Enter operation :");
String opr = sc.next();
if (opr.equals("min")){
System.out.print("min("+a + ", " + b + ", " + c + ")=");
if (a < b){
if (a < c){
System.out.print(a);
System.out.println();
}
else {
System.out.print(c);
System.out.println();
}
}
else {
if (b < c){
System.out.print(b);
System.out.println();
}
else {
System.out.print(c);
System.out.println();
}
}
}
else if (opr.equals("l1")){
double sum = Math.abs(a) + Math.abs(b) + Math.abs(c);
System.out.println("l1("+a + ", " + b + ", " + c + ")=" +sum);
}
else if (opr.equals("l2")){
double sum = a * a + b * b + c * c;
System.out.println("l2("+a + ", " + b + ", " + c + ")=" + String.format("%.2f",Math.sqrt(sum)));
}
else {
System.out.print("Invalid operation");
}
}
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.