题目
标题:有奖猜谜
有奖猜谜
小明很喜欢猜谜语。
最近,他被邀请参加了X星球的猜谜活动。
每位选手开始的时候都被发给777个电子币。
规则是:猜对了,手里的电子币数目翻倍,
猜错了,扣除555个电子币, 扣完为止。
小明一共猜了15条谜语。
战果为:vxvxvxvxvxvxvvx
其中v表示猜对了,x表示猜错了。
请你计算一下,小明最后手里的电子币数目是多少。
请填写表示最后电子币数目的数字。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
解题思路
1、将字符串拆分为字符数组,依次进行判断,v金币翻倍,x金币减少555,如果为负数返回0
答案:58497。
//java代码
public static void main(String[] args) {
String str = "vxvxvxvxvxvxvvx";
System.out.print(prizeQuiz(str));
}
public static int prizeQuiz(String str) {
char[] chars = str.toCharArray();//字符串拆分为数组
int money = 777;//初始金币
for (char c : chars//foreach遍历数组。
) {
if (c == 'v') {
money = money * 2;//胜利金钱翻倍
} else {
money -= 555;//失败金钱减555
if (money < 1) {//若金币扣完,返回0
return 0;
}
}
}
return money;//返回结果
}