java - 计算一手牌
问题描述
我正在尝试计算一手牌的总价值。如果没有 ace,则 final_listarray 中将有 1 个元素。如果有一张 A,将有 2 个元素来表示一手牌的总可能价值(因为 A 可以是 1 或 11)。
出于某种原因,我的数组只输出 [0,0],没有我想要的。
(arraylist1 只是我保存每张牌的值的数组。在这种情况下,一张 ace 将同时保存 1 和 11,任何其他值都将保存 1 个元素)
int max_excluding_Ace=0;
int max_adding_1=max_excluding_Ace;
int max_adding_11=max_excluding_Ace;
for (int i = 0; i < arraylist1.size(); i++) {
//Add values without aces
if ((arraylist1.get(i)!=1) && (arraylist1.get(i)!=11)) {
max_excluding_Ace += arraylist1.get(i);
}
//ace
//Add values with different combinations of the ace
else if ((arraylist1.get(i)==1)) {
max_adding_1 +=1;
}
else if ((arraylist1.get(i)==11)) {
max_adding_11 +=11;
}
}
if (max_adding_1 != max_excluding_Ace){
final_listarray.add(max_adding_1);
final_listarray.add(max_adding_11);
}
else {
final_listarray.add(max_excluding_Ace);
}
return final_listarray;
解决方案
推荐阅读
- c# - SQLite 连接未出现在 Visual Studio 2017 的实体数据模型向导中
- c++ - 在 Cygwin 上链接 Boost 库
- typescript - 了解 Typescript 语法
- python - Python:http.server.HTTPServer:如何关闭所有打开的文件?
- python - 在 pandas 数据框中使用 cut 对其进行分箱时,为什么分箱没有正确完成?
- sql - SQL - 联合第一个查询将始终是第一行
- swift - 我的 UICollectionView 没有使用 Swift 平滑滚动
- javascript - 如果用户“拔掉插头”并关闭计算机,是否会触发任何窗口事件?
- python - Python Try-Except:如何改变 Logging.info?
- python - 为什么 Python 将我的 dict 视为 str?