为什么我无论输入弹跳几次都是得到的结果都是一样的呢?如何更改呢?

球的实际高度为10000,求每次落地都会反弹到原来高度的一半。请输入弹跳次数,计算球体每次弹跳的高度,如果球体在经历N次弹跳后,已经落地高度=0,则退出计算。用For语句计算落体的高度
import java.util.Scanner;

public class Homework {

public static void main(String[] args) {
    Scanner g=new Scanner (System.in);

double finalfall =0;
double fall=10000;
System.out.print("请输入弹跳次数:");
int a=g.nextInt();

for(int i=1;i<=a;i++) {
    finalfall=fall/2;

if(fall==0) {
System.out.print("经过"+a+"次落地");
}
}

System.out.print(finalfall);

}
}

public static void main(String[] args) {
    Scanner g=new Scanner (System.in);
    double finalfall =10000;
    System.out.print("请输入弹跳次数:");
    int a=g.nextInt();
    for(int i=1;i<=a;i++) {
        finalfall=finalfall/2;
        if(finalfall==0) {
            System.out.print("经过"+i+"次落地");
            break;
        }
    }
    System.out.print(finalfall);
}