원통의부피 어디가 틀렸나요?
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;
}
}
컴파일은제대로되는데..ㅠㅠ
1000 1000 넣으면 답은
3141589.9
3141589999.9 인데
3141590.0
3.14159E9 을 출력하시네요.
어 이 문제 데이터가 틀렸네요.
1000 1000 넣으면 답은
3141590.0
3141590000.0
입니다.
위의 오답을 출력하는 제 C++ 소스가 억셉이 나왔네요.
http://stackoverflow.com/questions/16098046/how-to-print-double-value-without-scientific-notation-using-java
위 링크를 참조해보세요...
println 과 관련된 문제입니다. 저희도 예상 못한지라.....