当前位置: 首页 > 知识库问答 >
问题:

只比较数组的最后一个值[closed]

梁丘书
2023-03-14
import java.util.Random;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        int randnum = 0;
        boolean lose = false;
        Random gen = new Random();
        Scanner scan = new Scanner(System.in);
        System.out.println("Enter desired numbers to be drawn");
        int print = scan.nextInt();
        System.out.println("Enter desired numbers on dice");
        int dice = scan.nextInt();
        System.out.println("Enter your lucky numbers");
        int[] numbers = new int[print]; // int and print rhyme 
        for(int i=0; i<print;i++){
            numbers[i] = scan.nextInt();
        }
        for(int counter=1; counter<=print;counter++){
            randnum = 1+gen.nextInt(dice);
            System.out.println(randnum + " ");
            System.out.println();
            if (randnum == numbers[counter - 1]){
                lose = false;
            } else {
                lose = true;
            }
            if (lose == true){
                System.out.println("Bad luck!");
            }
            if (lose == false){
                System.out.println("Winner winner chicken dinner!");
            }
        }
    }
}

我在做一个简单的乐透游戏。如果我猜对了数字,我仍然会得到输掉的结果,除非它是我猜到的最后一个数字。如何将randnum与输入的所有数字进行比较?

共有1个答案

申屠黎昕
2023-03-14

如果您只想要一个randnum,请从for循环中获取randnum的定义。一旦找到匹配项,就可以break退出循环。

randnum = 1 + gen.nextInt(dice);
System.out.println(randnum + " ");
System.out.println();
for(int counter=1; counter <= print; counter++){
    if (randnum == numbers[counter - 1]){
        lose = false;
        break;
    } else {
        lose = true;
    }
}

如果您想要多个randnums,则需要两个循环。

for(int counter = 1; counter <= print; counter++){
    randnum = 1 + gen.nextInt(dice);
    System.out.println(randnum + " ");
    System.out.println();

    for(int i = 1; i <= print; i++){
        if (lose == false){
            break;
        }
        if (randnum == numbers[i - 1]){
            lose = false;
            break;
        } else {
            lose = true;
        }
    }
}

确保将lose初始化为true;

boolean lose = true;
if (lose == true){
    System.out.println("Bad luck!");
}
if (lose == false){
    System.out.println("Winner winner chicken dinner!");
}
 类似资料:
  • 我试图建立一个函数,检查一个单词或文本是否是回文。要做到这一点,它拆分文本,使每个字母都是一个新数组的元素,它去掉空白,并建立反向数组。然后检查两个数组中处于相同位置的每个元素是否相等。如果不是,则返回false,如果是,则返回true。这里的函数是: 我不知道出了什么问题,但是不管我传递给函数什么单词或文本,函数似乎都在返回一个真值。那有什么不好?

  • 我是java新手,我创建了两个arraylists,然后在while循环中向用户请求一个数字,一旦我从第1点和第2点获得了所需数量的数字。我将arrayllists转换为数组。我需要比较两个点阵,然后将最低点的缺失数字设置为零。例如 点1=(12,123,123,435,6756,667)//6个数字 点 2=(23,13,35)//3 个数字 点 3=(23,13,35,0,0,0)//新数组替

  • 问题内容: 比较两个数组并返回差值的最快/最佳方法是什么?非常类似于PHP。有一个简单的功能,还是我必须创建一个via ?还是循环? 问题答案: 如果您希望在JQuery中做到这一点,希望对您有所帮助。 最后的警报提示不常见元素数组Array,即2个数组之间的差。 请让我知道我是否错过了任何事情,干杯! 码

  • 问题内容: 我有这个间隔,当前每5秒执行一次ajax请求。我对声明有疑问。我的代码总是输入它,并且两个json值完全相同,为什么它认为它们不同? 编辑 这是控制台输出(虚线是分隔请求,它不在实际输出中) 问题答案: 不能保证以相同的方式序列化JSON对象,也不能保证属性以相同的顺序进行序列化,使用并不是测试对象相等性的好方法。 一个更好的例子是这样的函数(前一段时间在互联网上找到,希望我能感谢原始

  • 我有一个简单的javascript问题,我真的需要一些帮助!我正在尝试弄清楚如何在数组之间比较元素,以及在下一个循环中再次比较较大的元素。假设我们有数组A和数组B。 我的问题是,在比较索引处的元素之后,我希望在下一个循环周期中比较较大的元素。 如果A=[5,7,4],B=[2,8,5] 在第一个循环中,5与2进行比较,2较小,因此会发生一些事情。在下一个循环周期中,我希望5与8进行比较,而对于现在

  • 我的程序中有一个错误,使我的循环只读取输入字符串的最后一部分。我想让程序计算一个字符串中每个字符的个数。我不想要答案告诉我如何更有效地存储这些值,而不重复所有内容26次。请回答我在这里提出的问题。抱歉,如果这是一个副本!我只是不知道该说明什么,因为没有明显的错误。