Java 百家乐游戏中的错误附加值

Java 百家乐游戏中的错误附加值,java,Java,我目前正在尝试编写一个基本的百家乐游戏,但当我尝试将玩家的牌的价值相加时,我得到的是随机数。代码应该取所有卡片整数的值,将它们相加,然后取数字中的一位 以下是获取和添加数字值的代码: 公共空塔卡(字符串c){ 字符数; 字符串温度; 所有卡片=所有卡片+c+“”; 如果(c.charAt(0)='J'| | c.charAt(0)='Q'| | c.charAt(0)='K'){ 数值=0; }如果(c.charAt(0)='A'){ 数值=1; }否则{ 数字=c.charAt(0); va

我目前正在尝试编写一个基本的百家乐游戏,但当我尝试将玩家的牌的价值相加时,我得到的是随机数。代码应该取所有卡片整数的值,将它们相加,然后取数字中的一位

以下是获取和添加数字值的代码:


公共空塔卡(字符串c){
字符数;
字符串温度;
所有卡片=所有卡片+c+“”;
如果(c.charAt(0)='J'| | c.charAt(0)='Q'| | c.charAt(0)='K'){
数值=0;
}如果(c.charAt(0)='A'){
数值=1;
}否则{
数字=c.charAt(0);
value=Integer.parseInt(String.valueOf(number));
}
hand[numCards]=值;
numCards++;
}
public void GetTotalValue(){

对于(int i=0;i您没有重置total。它是一个不断增长的类变量。发生的事情完全是意料之中的。让我们看看:

2+6=8(总计)-->8%10=8

8(当前总数)+2+6+1=17-->17%10=7

17(当前总数)+2+6+1+5=31-->31%10=1

下面是您如何更正它的:

public void GetTotalValue(){
    total = 0; // <---- ADD THIS RESET

    for (int i = 0; i<numCards; i++){
        value = hand[i];
        total += value;
    }

    int finalValue = total%10;

    System.out.print("Your hand value is: "+ finalValue);
}
public void GetTotalValue(){

total=0;//您没有在
GetTotalValue
中设置
total=0;
,您检查过它是否有不同的起始值吗?我刚在课程开始时将total设置为0,但出现了相同的问题。@rether请学习堆栈溢出的工作原理,并阅读如何提高问题的质量。然后你的问题包括你的完整源代码,你有作为一个,它可以被编译和测试的其他人。