Math.floor 썼는데 WA

conan9123 Reply 7 years 7 weeks ago
반내림이 안되었다고 하셔서 말씀해주신대로 Math.floor 써봤는데 이렇게 쓰는게 아닌가요....? 자꾸 WA가 뜹니다 ㅠ import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); double a = input.nextDouble(); double b = input.nextDouble(); double c = input.nextDouble(); double pan = Math.pow(b, 2) - 4 * a * c; double method = (Math.sqrt(pan)); if (pan > 0) { double answer1 = (-b + method) / 2 * a; double answer2 = (-b - method) / 2 * a; double answer3 = (answer1 > answer2) ? answer1 : answer2 ; double answer4 = Math.floor(answer3*10)/10.0; System.out.printf("%.1f\n", answer4); } if (pan == 0) { double answer = -b*10/2*a; double last = Math.floor(answer*10)/10.0; System.out.printf("%.1f\n", last); } if (pan < 0) { System.out.print("complex"); } } }
withcs1 Reply 7 years 7 weeks ago
(-b + method) / 2 * a 곱하기와 나누기의 연산우선순위는 동일합니다. 즉 위의 식은 왼쪽부터 차례로 연산되겠네요 a에 2를 곱한값으로 나누고싶으시면 (-b + method) 처럼 괄호로 묶으셔야 해요 질문시 코드는 복붙하지마세요~