【问题标题】:how to assign string for who is going to win the game如何为谁将赢得比赛分配字符串
【发布时间】:2013-10-06 00:37:11
【问题描述】:

我想知道如何编写代码来做到这一点,让我们说如果 newSumDealer > newSumPlayer,那么经销商就会获胜。到目前为止,我只能让玩家获胜或平局。我是 Java 新手,所以请在这里帮帮我.. 给我一个线索左右,我会尽力弄清楚。

编辑:

//output
 System.out.println( "Player has " +number1+ " , " +number2+ " for a hand worth of ");
  if ( sumPlayer <= 10)
     System.out.println(  +sumPlayer+ " .");
  else if (sumPlayer > 10) {
      sumPlayer = sumPlayer - 10;
   System.out.println( sumPlayer - 10);
    }


  System.out.println( "Dealer has " +number3+ " , " +number4+ " for a hand worth of ");
    if ( sumDealer <= 10 )
  System.out.println( +sumDealer+ " .");
    else if ( sumDealer > 10 ) {
   sumDealer = sumDealer - 10;
  System.out.println( sumDealer - 10);
   }



//who wins
if(sumPlayer == sumDealer) {
   System.out.println("It's a tie!");
} else if (sumPlayer > sumDealer) {
   System.out.println("Player wins!");
} else {
   System.out.println("Dealer wins!");
}


  }
 }

【问题讨论】:

  • 这很简单——房子总是赢。

标签: java if-statement random


【解决方案1】:

您可以在 if 语句中使用附加条件。

if(sumPlayer == sumDealer) {
 System.out.println("It's a tie!");
} else if (sumPlayer > sumDealer) {
 System.out.println("Player wins!");
} else {
 System.out.println("Dealer wins!");
}

旁注:Java 与 JavaScript 不同。事实上,它们完全不同。

【讨论】:

  • 哇,好吧,我什至不知道……对此感到抱歉!嘿,我试过这样做,但是当 newSumPlayer 比经销商多或少时,它说玩家赢了......
  • 您有时使用sumPlayer,有时使用newSumPlayer。我不知道他们应该做什么:你确定你没有把它们混在一起吗?上面的代码只使用了sumPlayersumDealer
  • 或其他类似的情况:输出显示这样 Player 有 8 , 6 代表一手牌 4 庄家有 4 , 5 代表一手牌 9 。玩家赢了!,当它注定要成为经销商时
  • 那是因为newSumPlayer 从 8 + 6 (14) 中减去 10。这给了你 4。所以输出显示了一些不同的东西。但在这种情况下,您使用sumPlayer 而不是newSumPlayer
  • 我在 sumPlayer 大于 10 时使用 newSumPlayer,因为我需要它小于 10.. 它是一个百家乐游戏.. 同样适用于 newSumDealer
【解决方案2】:

您还没有提出进行所有比较的条件。试试这个:

//who wins
if(sumPlayer == sumDealer) {
 System.out.println( " It's a tie! ");
} else if (sumPlayer > sumDealer) {
 System.out.println( " sumPlayer wins ");
} else {
 System.out.println( " sumDealer wins ");
}

编辑: 根据 cmets,您似乎只是在打印值而不是分配它们。试试这个:

if ( sumPlayer <= 10)
   System.out.println(  +sumPlayer+ " .");
 else if (sumPlayer > 10) {
       sumPlayer = sumPlayer - 10;
       System.out.println( sumPlayer - 10);
    }


 System.out.println( "Dealer has " +number3+ " , " +number4+ " for a hand worth of ");
 if ( sumDealer <= 10 )
   System.out.println( +sumDealer+ " .");
 else if ( sumDealer > 10 ) {
    sumDealer = sumDealer - 10;
    System.out.println( sumDealer - 10);
   }

【讨论】:

  • 嘿,我已经这样做了,但有时我得到的输出如下: Player has 3 , 8 for a hand value of 1 Dealer has 3 , 3 for a hand value 6 。玩家获胜! (当它本应成为经销商时!)
  • @BithiahBids 嘿,我没有在您的代码中看到价值的提及?您只是将数字相加,因此比较是针对总和而不是价值。
  • 嘿,你的意思是什么?我不明白。抱歉,我是新手……这只是我第三周的课:o
  • @BithiahBids 这就是你在评论中提到的“玩家有 3 , 8 手牌价值 1 ”。这里有什么价值?代码中哪里提到的?
  • if ( sumPlayer 10) System.out.println( sumPlayer - 10);
猜你喜欢
  • 2020-08-04
  • 1970-01-01
  • 1970-01-01
  • 2015-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多