gpt4 book ai didi

java - 在数组java中搜索一个数字

转载 作者:行者123 更新时间:2023-11-29 03:00:55 32 4
gpt4 key购买 nike

我的代码首先生成包含 100 个元素的数组,然后将随机生成的数字放入每个元素中。我正在尝试搜索一个数字,如果找到,打印出它的索引。我到目前为止的代码是:

import java.util.Scanner;

public class Lab01
{

public static void main(String[] args)
{
int[] nums = new int[100];

for (int i = 0; i < nums.length; i++)
{
nums[i] = (int)((Math.random() * 100) + 1);
System.out.print(nums[i] + " , ");
}
System.out.println();
Scanner input = new Scanner(System.in);
int num;
System.out.println("What number would you like to search for?");
num = input.nextInt();
boolean found = false;
for (int i = 0; i < nums.length; i++)
{
if (num == nums[i])
{
found = true;
break;
}

if (found)
{
System.out.println("That number was found at index" + i);
break;
}
else
{
System.out.println("That number was not found.");
break;
}
}
}
}

我输入打印语句来查看值,因此我可以验证它是否正常工作,但它总是返回“未找到”。我在这里缺少什么?

最佳答案

尝试替换此 block ,请参阅底部的解释:

     for (int i = 0; i < nums.length; i++) 
{
if (num == nums[i])
{
found = true;
break;
}

if (found)
{
System.out.println("That number was found at index" + i);
break;
}
else
{
System.out.println("That number was not found.");
break;
}

与:

 int i; // create this
for ( i = 0; i < nums.length; i++) // and remove int from for loop
{
if (num == nums[i])
{
found = true;
break;
}
}
if (found)
{
System.out.println("That number was found at index " + i);
}
else
{
System.out.println("That number was not found.");
}

解释:
for 循环if 条件 并从中移除 break 语句并创建一个 int i = 0 在上面的 for 循环 之前。

关于java - 在数组java中搜索一个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35047997/

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