예시에 맞게 답이 나오는데 왜 틀렸다고 하는지 모르겠어요

hmi2002 Reply 7 years 10 weeks ago
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); double R = sc.nextDouble(); double L = sc.nextDouble(); double A = Math.pow(R, 2)*3.14159; double V = A*L; int AA = (int) Math.floor(A*10); int VV = (int) Math.floor(V*10); double AAA = AA*0.1; double VVV = VV*0.1; System.out.println(AAA); System.out.println(VVV); } } 버림이라고 해서 예시에 나와있는 반올림 말고 위에 나온 것처럼 짜봤는데 왜 틀렸다고 하는 지 모르겠어요.
SeanYi Reply 7 years 10 weeks ago
1) 문제에 제시된 조건은 두 개의 int 값 R와 L을 입력값으로 받으라고 명시 돼있지만 현재 작성된 프로그램은 "sc"라는 하나의 입력값만 받았습니다. 2) 입력값으로 음의 정수나 1000 이상의 값을 받았을 때도 프로그램이 실행되는 오류가 있습니다. 문제에는 R과 L이 1~1000의 값이라고 명시 돼 있습니다.
onacloud Reply 7 years 10 weeks ago
System.out.println(VVV); 과 같이 쓰면 .7282718900000002E7 과 소수점이 많으면 과학표기로 변경되요. printf를 사용해 보세요