Java 选择可能的最高数字

Java 选择可能的最高数字,java,arrays,random,Java,Arrays,Random,我正在用java做纸牌游戏,有一个简单的规则,你们必须选择和上一个相等或更低的数字。我无法使程序选择与上一个相同或更低的数字 publicstaticvoidmain(String[]args)抛出InterruptedException{ 随机优先=新随机(); 时间单位。毫秒。睡眠(1000); 系统输出打印(“第一张卡片是:”); int FirstCard=8; int Losowa=First.nextInt(FirstCard); 系统输出打印LN(Losowa); 时间单位。毫秒。

我正在用java做纸牌游戏,有一个简单的规则,你们必须选择和上一个相等或更低的数字。我无法使程序选择与上一个相同或更低的数字

publicstaticvoidmain(String[]args)抛出InterruptedException{
随机优先=新随机();
时间单位。毫秒。睡眠(1000);
系统输出打印(“第一张卡片是:”);
int FirstCard=8;
int Losowa=First.nextInt(FirstCard);
系统输出打印LN(Losowa);
时间单位。毫秒。睡眠(600);
Random il_kart=新的Random();
系统输出打印(“您的卡片:”);
for(int i=tablica[0];i<5;i++){
int上限=8;
tablica[i]=il_kart.nextInt(上限);
系统输出打印(tablica[i]+“”);
时间单位。毫秒。睡眠(250);
}
随机敌人卡=新随机();
系统输出打印(“敌人的卡片是:”);
for(int i=EnemyTab[0];i<5;i++){
int上限=8;
EnemyTab[i]=il_kart.nextInt(上限);
System.out.print(EnemyTab[i]+“”);
时间单位。毫秒。睡眠(250);
}
时间单位。毫秒。睡眠(800);
System.out.println(“”);
System.out.println(“轮到你了!”);

如果(tablica[0]一种方法是构造一个名为equalollower的ArrayList,比如说,每当计算机需要选择时,就会创建一个新的ArrayList,它将存储所有可能的敌方卡,其值小于玩家数量。敌方(计算机)只能从新创建的ArrayList中选择一个值

 int playerNumber = 5;
    int[] enemyPossibleCards = {1,2,6,4,9};

    ArrayList<Integer> equalOrLess = new ArrayList<>();

    equalOrLess.clear();
    for(int i = 0; i < enemyPossibleCards.length; i++){
        if(enemyPossibleCards[i] < playerNumber)
            equalOrLess.add(enemyPossibleCards[i]);
    }
int playerNumber=5;
int[]enemyPossibleCards={1,2,6,4,9};
ArrayList equalless=新的ArrayList();
相等的,相等的;
for(int i=0;i

这是一些帮助您理解我的答案的示例代码。每次调用函数时都会清除ArrayList,以确保删除以前的值。如果您有任何其他问题,请联系:)

考虑以一种在
if
语句中没有太多条件的方式重写代码。您能否描述if语句背后的逻辑(同时解释/翻译Losowa、tablica、wyb和odp包含的内容/意思)?您能否发布更大一部分的代码,以帮助我们了解这些打印是如何生成的?首先,一个简单的解决方案是:对于enemyTab中的每一张卡,如果它小于或等于当前卡,请打印它(并可能打破循环)。您越是帮助我们了解问题,我们就越能帮助您:)Losowa是第一张随机卡,Tablica是随机卡阵列,wyb是扫描仪(选择卡),odp是答案。我试过用if statement在很多方面,问题是有时程序选择了正确的答案,但大多数情况下它选择了更高的卡片谢谢:)我明天会试试。