Java 分配变量以显示数组索引时出现问题

Java 分配变量以显示数组索引时出现问题,java,arrays,Java,Arrays,我正在编写一个程序,生成100个随机数,提示用户输入一个数字,程序说这个数字是在索引XX处找到的。或者找不到号码。以下是我所拥有的: import java.util.*; import java.util.Random; public class lab1 { public static void main (String[]args) { //Let's create an array with 100 random numbers int [] randomArray =

我正在编写一个程序,生成100个随机数,提示用户输入一个数字,程序说这个数字是在索引XX处找到的。或者找不到号码。以下是我所拥有的:

import java.util.*;
import java.util.Random;
public class lab1
{
public static void main (String[]args)
{
    //Let's create an array with 100 random numbers
    int [] randomArray = new int [100];
    Random randomGenerator = new Random();


    for(int i = 0; i < randomArray.length; i++)
    {
        randomArray[i] = randomGenerator.nextInt(100) + 1;
    }
//ask user to enter a number between 1 and 100
    Scanner input = new Scanner(System.in);
    int searchNumber;

    System.out.println("Please enter a number between 1 and 100 to search 
for: ");
    searchNumber = input.nextInt();

    boolean found = false;


    for(int i = 0; i < randomArray.length; i++)
    {
        if(searchNumber == randomArray[i])
        {
            found = true;
            break;//Exits the loop
        }
    }
    if(found)
    {
        System.out.println("We have found your number, " + searchNumber + " 
at index " + index);
    }
    else
    {
        System.out.println("We did not find your number");
    }
}
}
import java.util.*;
导入java.util.Random;
公共类lab1
{
公共静态void main(字符串[]args)
{
//让我们创建一个包含100个随机数的数组
int[]随机数组=新的int[100];
Random randomGenerator=新的Random();
对于(int i=0;i

当我的程序找到一个数字时,我无法获得要显示的索引,我知道这是因为变量“I”仅在for循环中定义。我不知道如何在for循环外部创建新变量,并将I分配给for循环内部的该变量。

在循环外部声明
I
,即

int i;
for(i = 0; i < randomArray.length; i++)
{
    ...
    ...
    ...
}

在循环外声明
i
,即

int i;
for(i = 0; i < randomArray.length; i++)
{
    ...
    ...
    ...
}

您一直都有正确的想法,甚至完美地表达了它:“……在for循环之外创建一个新变量,并将
i
分配给for循环内的该变量”:

intfoundat=-1;
对于(int i=0;i
您一直都有一个正确的想法,甚至完美地表达了它:“……在for循环之外创建一个新变量,并将
i
分配给for循环内的该变量”:

intfoundat=-1;
对于(int i=0;i
从JDK 8开始,您可以轻松生成100个介于0-100之间的随机数,就像JDK 8一样,您可以轻松生成100个介于0-100之间的随机数。谢谢,这非常有效。我知道我忽略了一些简单的事情。谢谢你,这非常有效。我知道我忽略了一些简单的事情。
    int foundAt = -1;
    for(int i = 0; i < randomArray.length; i++)
    {
        if(searchNumber == randomArray[i])
        {
            foundAt = i;
            break;//Exits the loop
        }
    }
    if(foundAt != -1)
    {
        System.out.println("We have found your number, " + searchNumber + " 
at index " + foundAt);
    }
    else
    {
        System.out.println("We did not find your number");
    }
}