在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 中打印数组的长度?