예시에 맞게 답이 나오는데 왜 틀렸다고 하는지 모르겠어요
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);
}
}
버림이라고 해서 예시에 나와있는 반올림 말고 위에 나온 것처럼 짜봤는데 왜 틀렸다고 하는 지 모르겠어요.
1) 문제에 제시된 조건은 두 개의 int 값 R와 L을 입력값으로 받으라고 명시 돼있지만 현재 작성된 프로그램은 "sc"라는 하나의 입력값만 받았습니다.
2) 입력값으로 음의 정수나 1000 이상의 값을 받았을 때도 프로그램이 실행되는 오류가 있습니다. 문제에는 R과 L이 1~1000의 값이라고 명시 돼 있습니다.
System.out.println(VVV); 과 같이 쓰면 .7282718900000002E7 과 소수점이 많으면 과학표기로 변경되요. printf를 사용해 보세요