Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Can';当值为';在for each循环中找不到_Java_Arrays - Fatal编程技术网

Java Can';当值为';在for each循环中找不到

Java Can';当值为';在for each循环中找不到,java,arrays,Java,Arrays,目前正在学习编程基础课程,我在完成代码时遇到了一些问题。我知道这太草率了,但我花了很多时间试图弄明白这一点。除了最后的println语句外,一切都正常。我无法在正确的时间打印出来。即使找到值,它也始终打印。我知道问题在于最后的if语句,但我真的不知道该在那里放什么。谢谢你的帮助 System.out.print("\n\nPlease enter number to search for: "); Scanner scan = new Scanner (System.in);

目前正在学习编程基础课程,我在完成代码时遇到了一些问题。我知道这太草率了,但我花了很多时间试图弄明白这一点。除了最后的println语句外,一切都正常。我无法在正确的时间打印出来。即使找到值,它也始终打印。我知道问题在于最后的if语句,但我真的不知道该在那里放什么。谢谢你的帮助

System.out.print("\n\nPlease enter number to search for: ");
    Scanner scan = new Scanner (System.in); 
    int search = scan.nextInt();
    int index = 1;

    for (int numb : unsortedArray) {   
        if (numb == search) 
            System.out.println("\nSearch Value: " + numb + " is found at location: " + (index) +" in the unsorted array.");
        index++;
    }

    for (int numb : sortedArray) {
        if (numb == search) 
            System.out.println("\nSearch Value: " + numb + " is found at location: " + (index -10) +" in the sorted array.");
        index++;
        }

    if (search != 1) {
    System.out.println("Search Value: " + search + " was not found.");
    }

问题是您正在检查
search
变量是否不等于1,其中
search
是您从控制台接收到的用户输入

    if (search != 1) {
    System.out.println("Search Value: " + search + " was not found.");
    }

这对我来说似乎不太正确,因为看起来只有在未排序数组和已排序数组中都找不到该值时,才需要打印出来

相反,我建议在所有
for
循环之前创建一个
boolean
,并将其设置为false。。。如果在任一数组中找到该值,请将其设置为true


最后,将final
if
语句更改为检查是否在数组中找到了值。(即,如果
布尔值
为真。)

问题在于您正在检查
搜索
变量是否不等于1,其中
搜索
是您从用户控制台接收的输入

    if (search != 1) {
    System.out.println("Search Value: " + search + " was not found.");
    }

这对我来说似乎不太正确,因为看起来只有在未排序数组和已排序数组中都找不到该值时,才需要打印出来

相反,我建议在所有
for
循环之前创建一个
boolean
,并将其设置为false。。。如果在任一数组中找到该值,请将其设置为true


最后,将final
if
语句更改为检查是否在数组中找到了值。(即,如果布尔值为真。)

seach
是您要找的号码,是吗?所以你最后的
if
基本上是说“如果我在搜索数字1,那么就说它没有找到”。这样做合理吗?
seach
是您要找的号码,是吗?所以你最后的
if
基本上是说“如果我在搜索数字1,那么就说它没有找到”。这样做合理吗?