一台手机第一天支付1元,第二天支付2元,第三天支付4元,连续支付30天,请问一共需要支付多少钱?

一台手机第一天支付1元,第二天支付2元,第三天支付4元,连续支付30天,请问一共需要支付多少钱?

按照以上推理得:
第一天是2的0次方等于1
第二天是2的1次方等于2
第三天是2的2次方等于4
java代码中的多少次次方是Math中的pow方法
pow(a,b);
其中a和b默认都是double
如果是以下写法报错的(异常Type mismatch: cannot convert from double to int
  • 无法将double转换为int


int temp = Math.pow(5,2);

因为以上pow中的5和2都是double,前面的是int类型
解决方法有两个
1: int temp 改为 double temp (建议使用第一种)
2: Math.pow(5,2)改为 (int)Math.pow(5,2)

/**
* Date:2019/7/5
* Author:zkh
* DESC:手机的总金额
*/
public class mobilePhonePrice {
    public static void main(String[] args) {
        int price = 0;
        for (int i = 1; i <= 30; i++) {
            price +=Math.pow(2, i-1);
        }
//        手机总金额10 7374 1823  元
        System.out.println("手机总金额"+price);
    }
}

 

你可能感兴趣的:(Math)