gpt4 book ai didi

java - 单个 int 的多次返回

转载 作者:行者123 更新时间:2023-12-01 11:47:08 25 4
gpt4 key购买 nike

我一直在尝试为二十一点制定一种记分方法(哦,是的,有 100 页代码可供引用,没有一个包含我正在寻找的片段)

我想要的只是返回一个 int 数组,一个 1 到 11 之间的值,然后重复它,返回一个不同的随机值。

我已经尝试了数十种方法,但我要么不够熟练,无法使其发挥作用,要么该方法不适合我的其余代码。

这是我最近正在尝试的事情。

import java.util.Random;
import java.util.Scanner;

class jacktest
{
public static void main ( String[] args )
{
Random r = new Random();

Scanner input = new Scanner(System.in);
String name;
boolean playing = true;
boolean notplaying = true;
int ncard = 1 + r.nextInt(11);

for (i=0; i>11; ++i);

System.out.println("two cards from the same int: "+ncard +ncard);
}
}

有人可以帮我减轻一些折磨,并向我解释为什么 ncard + ncard 两次出现时都会产生相同的数字吗?

或者什么是获得相同结果的更好方法?

谢谢

PS:我希望程序能够说出类似的话,

your first card is a 8 your second card is 4total 12 H or S (hit or stick)Hit: 5Total:17 H or S (hit or stick)SSticking at 17DEALERS turn:

因此总数会被记住,并根据 hs 输入增加。

我在另一个程序中见过这种类型的代码,但它不适合我有限的编码技能。我需要一些非常简单且易于操作的东西。

最佳答案

for 语句的工作方式是重复其 block 中的内容。

 int ncard = 1 + r.nextInt(11);
for (i=0; i>11; ++i); // get rid of this semicolon, the smeicolon creates a block
System.out.println("two cards from the same int: "+ncard +ncard);

如果它是这样读的

 int ncard = 1 + r.nextInt(11);
for (i=0; i>11; ++i) // indent next line to make it look nice
System.out.println("two cards from the same int: "+ncard +ncard);

根本不运行,因为 i 永远不会大于 11。更合理的

 int ncard = 1 + r.nextInt(11);
for (int i=0; i<11; ++i){
System.out.println("two cards from the same int: "+ncard +ncard);
}

现在,您应该为每次重复真正获得一张新的 ncard

 for (i=0; i<11; ++i){
int ncard = 1 + r.nextInt(11);
System.out.println("two cards from the same int: "+ncard +ncard);
}

如果您愿意,现在可以扩展您的编辑

 int card1 = 1 + r.nextInt(11);
int card2 = 1 + r.nextInt(11);

在创建条件之后,您可以

 if(card1 + card2 <= 17){
// don't hit.
}

关于java - 单个 int 的多次返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29066027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com