개발일기
JAVA | 소숫점 아래 1자리 까지만 출력하기
삐삐들의 주인
2023. 1. 30. 17:32
width와 height를 입력하면 area와 perimeter를 우선 구하는 방법을 썻다.
package FirstPackage;
import java.util.Scanner;
public class Rectangle {
static float hh;
static float ww;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("width:");
float wid = scanner.nextFloat();
ww = wid;
System.out.println("height:");
float hei = scanner.nextFloat();
hh = hei;
getArea();
getPerimeter();
}
private static void getPerimeter() {
System.out.println("perim:" + Math.floor(((hh + ww) * 2) * 10) / 10);
System.out.println();
}
private static void getArea() {
System.out.println("area:" + Math.floor((ww * hh) * 10) / 10);
System.out.println();
}
}
System.out.printf("perimeter:" + "%.1f %n", (hh + ww)*2);
이걸 쓰면 똑같이 값이 나오기는 하는데 이 형태는 반올림을 해준다
문제에 대한 답은 버림을 하라고 나와있어서 이걸 쓰진 못했다
Math.floor()는 버림을 해주기에 Math.floor()를 사용하여
값에 10을 곱해서 소숫점 첫번째 자리를 정수로 올리고 Math.floor()로 나머지를 버린 후 다시 10을 나누어서 소숫점 뒤로 이동시켜주었다