找到数组的索引 - java

时间:2017-09-27 04:01:03

标签: java arrays search location

我有一个代码,它是一个可以容纳8个随机生成的整数值的数组 数字到数字;接下来,它将要求用户输入一个数字。在输入之后,它将找到用户输入数字的数组的位置。接下来,一旦数组中的第一个数字与输入数字匹配,算法将停止并显示位置。相反,如果找不到该值,则只显示找不到。

这是代码;

import java.util.Scanner;
import java.util.Random;
public class q3_2 {
static Random generator = new Random();
static Scanner input = new Scanner(System.in);
public static void main(String[] args){
int[] number = new int [8];
Random randomGenerator = new Random();
for (int idx = 0 ; idx < number.length ; ++idx){
int randomInt = randomGenerator.nextInt(50)+1; 
System.out.print(randomInt + " ");
}
System.out.println();
System.out.println("your input please: " );
int inputInt;
inputInt = input.nextInt();
int idxToFind = -1;
for (int idx = 0 ; idx < number.length ; ++idx){
idxToFind= idx;
break;
}
System.out.println(inputInt + " is on the " + idxToFind);

这是输出

enter image description here

右边它应该显示7是1;但它显示0.我不知道我犯的错误在哪里。感谢您的建议和建议。

1 个答案:

答案 0 :(得分:1)

初始化你的数组(由@AJB指出)并添加条件逻辑

for (int idx = 0 ; idx < number.length ; ++idx){
    int randomInt = randomGenerator.nextInt(50)+1; 
    number[idx] = randomInt;//INITIALIZED
    System.out.print(randomInt + " ");
}

...

for (int idx = 0 ; idx < number.length ; ++idx){
    if (number[idx] == idxToFind) {
        idxToFind= idx;
        break;
    }
}

或者,你可以使用indexOf,但在提出这类问题之前你应该做更多的研究。看起来你正在轻松完成家庭作业。