Java Can';当值为';在for each循环中找不到
目前正在学习编程基础课程,我在完成代码时遇到了一些问题。我知道这太草率了,但我花了很多时间试图弄明白这一点。除了最后的println语句外,一切都正常。我无法在正确的时间打印出来。即使找到值,它也始终打印。我知道问题在于最后的if语句,但我真的不知道该在那里放什么。谢谢你的帮助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);
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,那么就说它没有找到”。这样做合理吗?