원통의부피 어디가 틀렸나요?

sodon5 Reply 9 years 10 weeks ago
package com.company; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner keyboard=new Scanner(System.in); double ro = keyboard.nextDouble(); double lo = keyboard.nextDouble(); Volume vol=new Volume(ro,lo); System.out.println(Math.floor((vol.change())*10)/10); System.out.print(Math.floor((vol.change2())*10)/10); } } class Volume { public Volume(double ro, double lo) { r=ro; l=lo; } double r,l; public double change() { return r * r * 3.14159; } public double change2() { return r * r * 3.14159* l; } } 컴파일은제대로되는데..ㅠㅠ
hongjun7 Reply 9 years 10 weeks ago
1000 1000 넣으면 답은 3141589.9 3141589999.9 인데 3141590.0 3.14159E9 을 출력하시네요.
hongjun7 Reply 9 years 10 weeks ago
어 이 문제 데이터가 틀렸네요. 1000 1000 넣으면 답은 3141590.0 3141590000.0 입니다. 위의 오답을 출력하는 제 C++ 소스가 억셉이 나왔네요.
pichulia Reply 9 years 10 weeks ago
http://stackoverflow.com/questions/16098046/how-to-print-double-value-without-scientific-notation-using-java 위 링크를 참조해보세요... println 과 관련된 문제입니다. 저희도 예상 못한지라.....
hongjun7 Reply 9 years 10 weeks ago
데이터는 이상이 없습니다. 죄송합니다.