Java 步进阵列&;基于搜索项返回数组中匹配/不匹配的值

Java 步进阵列&;基于搜索项返回数组中匹配/不匹配的值,java,arrays,for-loop,Java,Arrays,For Loop,在我的searchForANumber方法中,我试图显示是否在数组中找到一个数字。问题是,我正在使用andif,else来确定searchValue是否与for循环中的数组语句中的值匹配,当我这样做时,数组中的最后一个变量将被测试,我的返回值仅基于最终值。如何使返回短语基于数组中的所有元素,而不仅仅是最后一个元素?我是否使用一段时间,一段时间,切换循环?感谢您的帮助 import java.util.Scanner; public class Practice { public sta

在我的
searchForANumber
方法中,我试图显示是否在数组中找到一个数字。问题是,我正在使用and
if,else
来确定
searchValue
是否与for循环中的数组语句中的值匹配,当我这样做时,数组中的最后一个变量将被测试,我的返回值仅基于最终值。如何使返回短语基于数组中的所有元素,而不仅仅是最后一个元素?我是否使用一段时间,一段时间,切换循环?感谢您的帮助

    import java.util.Scanner;

public class Practice {
public static void main(String[] args){
    Scanner input = new Scanner(System.in);

    System.out.println("Enter your minimum number: ");
    int minNumber = input.nextInt();

    System.out.println("Enter your maximum number: ");
    int maxNumber = input.nextInt();

    int[] array = new int[(maxNumber-minNumber)+1];
    int[]readInArray = new int[maxNumber-minNumber+1];

    readInArray=readNumbers(minNumber, maxNumber, array);

    printNumbers(readInArray, minNumber);

    searchForANumber(readInArray, minNumber);

    sumNumbers(readInArray);

    printBackward(readInArray);


}//end of main method

private static void printBackward(int[] readInArray) {
    for (int i=(readInArray.length-1);i>0;i--){
        System.out.print(readInArray[i] + " ");
    }

}

private static void sumNumbers(int[] readInArray) {
    int total = 0;
    for (int i=0;i<readInArray.length;i++){

        total = total + readInArray[i];
    }
    System.out.println(total);

}

private static void searchForANumber(int[] readInArray, int minNumber) {
    Scanner input = new Scanner(System.in);
    System.out.println("Enter number to search for: ");
    int searchValue = input.nextInt();
    boolean returnValue = false;
    for (int i = 0; i < readInArray.length;i++) {
        if (searchValue == readInArray[i])
            returnValue=true;
            break;

    }// end of for
    System.out.println(returnValue);

}

private static void printNumbers(int[] readInArray, int minNumber) {
    for (int i = 0; i < readInArray.length;i++) {
        System.out.print(readInArray[i] + " ");
        minNumber++;
    }
    System.out.println(" ");

}

private static int[] readNumbers(int minNumber, int maxNumber, int[] array) {
    for (int i = 0; i < array.length;i++) {// input grades for each students
        array[i]=minNumber;
        minNumber++;
    } // end of for loop

    return array;
} // end of readArray method

}//end of class
import java.util.Scanner;
公共课堂实践{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
System.out.println(“输入您的最小编号:”);
int minNumber=input.nextInt();
System.out.println(“输入您的最大数字:”);
int maxNumber=input.nextInt();
int[]数组=新的int[(maxNumber-minNumber)+1];
int[]readInArray=new int[maxNumber minNumber+1];
readInArray=readNumbers(minNumber、maxNumber、array);
打印号码(readInArray、minNumber);
searchForANumber(readInArray,minNumber);
sumNumbers(readInArray);
向后打印(readInArray);
}//主方法结束
私有静态void printfackup(int[]readInArray){
对于(inti=(readInArray.length-1);i>0;i--){
System.out.print(readInArray[i]+“”);
}
}
私有静态void sumNumbers(int[]readInArray){
int-total=0;

对于(inti=0;i,可以用两种方法来实现

  • 使您的方法
    searchForANumber
    返回布尔值

    private static boolean searchForANumber(int[] readInArray, int minNumber) {
    //before for loop
    for (int i = 0; i < readInArray.length;i++) {
        if (searchValue == readInArray[i])
            return true;
        }
    return false;
    }
    

  • 为什么不返回一个
    boolean
    ?您可以发布您的searchForANumber(…)方法?已发布,您只需向下滚动尝试将returnValue初始化为false,如果确实找到您要查找的内容,请将returnValue设置为true,然后跳出循环。@user1813598我进行了建议的修订,但我仍然很遗憾地收到相同的错误。
    boolean returnValue=false;for(int I=0;I
    private static void searchForANumber(int[] readInArray, int minNumber) {
    //before for loop
    boolean found = false;
    for (int i = 0; i < readInArray.length;i++) {
        if (searchValue == readInArray[i]){
           found = true;
           break;
          }
        }
    if(found)
     System.out.println("Found");
    else
     System.out.println("Not Found");
    }