Kit*_*ray 5 java methods performance program-entry-point
这可能是一个愚蠢的问题,但我从一本书中自学,我注意到很多例子都在main之外的方法中使用print语句.我想知道你把它放在哪里有所不同所以当我遇到问题时,我粘贴了我正在处理的程序.让getArea方法打印该区域或将其保留在main中会更有效吗?
private static Scanner in;
private static double s;
private static double a;
public static void main(String[] args) {
in = new Scanner(System.in);
DecimalFormat two = new DecimalFormat("#.##");
System.out.println("Enter the length from center to vertex: ");
double r = in.nextDouble();
s = getSide(r);
a = getArea(s);
System.out.println("The area of a pentagon of radius "+r+" is "+two.format(a));
}
public static double getSide(double radius){
double side = 2 * radius * Math.sin((Math.PI) / 5);
return side;
}
public static double getArea(double side){
double area = (5 * Math.pow(side, 2)) / (4 * Math.tan((Math.PI) / 5));
return area;
}
Run Code Online (Sandbox Code Playgroud)
效率没有差别.这可以通过以下事实看出:函数无法找出其他函数所称的函数.它不可能以不同的方式表现.(除了堆栈内省和内联......)
从结构上来说,最好是尝试保持方法纯粹,因为如果不需要,它们不会引起副作用.这使程序更容易理解.纯函数接受一些值并返回一个值而不改变任何其他值.打印是一种副作用,因此尽量避免使用计算式功能.
| 归档时间: |
|
| 查看次数: |
77 次 |
| 最近记录: |