4. 云海学长为了探究神秘的物理现象, 从高楼抛下一个弹球 但由于高空抛物被警察抓了, 请各位小伙伴完成他未完成的心愿
小球从某一高度落下,每次落地后反跳回原来高度的一半,再落下。
输入弹球的初始高度M和回弹次数N, 输出弹球第N次回弹后的高度 和达到该高度后所经过的距离(保留两位小数)
(0<M<1000, 0<N<50)
样例输入
1000 5
样例输出
31.25
2906.25
package package01;
import java.util.Scanner;
/**
* @author abner
* @version 1.0
*/
public class practise3_4 {
public static void main(String[] args) {
int N, M;
double h, l = 0;
Scanner scanner = new Scanner(System.in);
M=scanner.nextInt();
N=scanner.nextInt();
h = M;
for (int i = N; i >0 ; i--) {
h /= 2;
l += h * 3;
}
System.out.println(String.format("%.2f",h));
System.out.println(String.format("%.2f",l));
}
}
优势与弊端
编辑 播报
在一些系统中使用非常频繁的方法都使用静态方法可以提高系统性能
本身不可升级,重写,这要看一个软件产品的目的是什么了.
为了方便,不用实例化,但这样程序编译运行时就占用了系统资源
静态的属性和方法在程序启动的时候,就全部装入内存的,而不管这些方法、属性以后有没有用到。即使是没有人再访问程序,这部分内存仍然不会释放。还有就是,所有访问者看到的静态属性的数据几乎都是一样的,比如A用户设置了UserName这个属性,B用户访问的时候,得到的UserName仍然是A用户设置的那个。这种特性,如果用在固定数据中,那不会有太大问题,比如连接字符串之类的。