I need to write a Java program that prints the base and height of a triangle in a long string to two decimal places.
The program should look like this:
java Main
triangle 1 2
(base = 1.00, height = 2.00) = 1.00
However right now it prints
java Main
triangle 1 2
(base = 1.0, height = 2.0) = 1.00
Using printf, how would I get the base and height to output to 2 decimal places?
Here is my code so far, saved to two different files
Code
import java.util.Scanner;
public class Main {
public static void main (String[] args) {
double base;
double height;
Scanner sc = new Scanner(System.in);
String tri = sc.next();
if (tri .equals("triangle")) {
base = sc.nextDouble();
height = sc.nextDouble();
Triangle triangle = new Triangle(base, height);
System.out.printf(" %s %.2f\n", triangle.toString(), triangle.area());
}
}
}
Code
public class Triangle {
private double base;
private double height;
public Triangle (double basea, double heighta) {
base = basea;
height = heighta;
}
public String toString() {
String toString = "(base = "+base+", height = "+height+") = ";
return toString;
}
public double area() {
double area = (base*height)/2;
return area;
}
}