在JAVA中打印出数组的长度

Posted

技术标签:

【中文标题】在JAVA中打印出数组的长度【英文标题】:Print out the length of an array in JAVA 【发布时间】:2022-01-18 00:26:05 【问题描述】:

我需要编写一个彩票模拟器,基本上一切正常,但我在问题结束时遇到了一个小问题。有 2 个数组(我需要在没有数组列表的情况下工作)进行比较。生成的中奖号码和用户输入的号码。我成功地展示了哪些数字是正确的猜测。但不起作用的是显示多少猜测是正确的。我试过 System.out.println("你猜对了这么多数字:"+intArray.length[i] 但这不起作用。有没有办法显示正确猜到的数字的确切数字?谢谢提前任何帮助

  for (int i=0; i< intArray.length;i++)

        for (int j=0; j< ownArray.length;j++)

            if (intArray[i] == ownArray[j])




                System.out.println("Your following guess was correct: "+intArray[i]);

【问题讨论】:

你认为intArray.length[i] 会产生什么? 有什么方法可以显示猜对了多少?当然。数一数,打印出来。 【参考方案1】:

如果您的彩票号码是正数,这实际上很简单。如果数字可以是负数,则涉及更多。基本算法是反复将彩票号码与所有玩家的猜测一一比较。如果匹配,我们在用户猜测数组中记录 -1 并增加一个计数器来跟踪正确条目的数量。

一些代码会让这更清楚:

public class LotteryNumbers 


    public static void main(String[] args) 
        int[] lotteryNumbers = 1,2,3,4,5,6;
        int[] userGuess = 1,2,3,4,8,9;
        int correct = 0;

        for(int i=0; i<lotteryNumbers.length; i++) 
            for(int j=0; j<userGuess.length; j++) 
                if( userGuess[j] == lotteryNumbers[i]) 
                    userGuess[j] = -1; // 'eliminate' this guess for checking
                    correct++;
                    break;
                
            
        

        System.out.println("Number of correct numbers = " + correct);
    

输出:

Number of correct numbers = 4

之所以有效,是因为该算法会剔除玩家猜测中的匹配项,并防止下次通过循环进行匹配。您可以想象,我们实际上正在做的是将玩家猜测中的数字与彩票号码相匹配。

【讨论】:

【参考方案2】:

只需使用计数变量

public static void main(String[] args) 
    int[] intArray = 1,2,4,5;
    int[] ownArray = 1,0,2,7;
    int count = 0;
    System.out.println("Your following guesses were correct: ");
    for (int i = 0; i < intArray.length; i++)
        for (int j = 0; j < ownArray.length; j++)
            if (intArray[i] == ownArray[j])
                System.out.print(intArray[i] + " ");
                count++;
            
        
    
    System.out.println("\nNo. of correct guesses: " + count);

输出: 您的以下猜测是正确的: 1 2 正确猜测数:2

【讨论】:

以上是关于在JAVA中打印出数组的长度的主要内容,如果未能解决你的问题,请参考以下文章

怎么用javascript控制hr长度来打印出金字塔,并且输出

给定一个任意长度的java数组,如何算出数组内的数能组合出来的最大整数?

在java中,一个数组的长度不固定(长度大于1),如何获取数组的最后一个元素

如何在 AssemblyScript / Near 中打印数组的长度?

在 Assembly x86 MASM 中连接字符串和数组的大小

如何找到数组列表的长度? [复制]