我正在尝试为循环i
输出index(i)
的值,但仅在最后一次迭代时输出。我得到一个错误或输出i
的所有值。以下是我到目前为止的情况:
boolean sequentialSearch(int x) {
for(int i = 0; i < n; i++) //n comes from function length()
if(n != 0) {
if(list[i] == x) {
return true;
}
return false;
}
}
答案 0 :(得分:2)
尝试:
for(int i = 0; i < n; ++i) {
if(list[i] == x) { // an array is 0-indexed
System.out.println("Found at index: " + i);
return true; // return true if found
}
}
System.out.println("Not found!");
return false; // here, x has never been found, so return false
答案 1 :(得分:0)
我想你需要这样:
boolean sequentialSearch(int x) {
for(int i=0;i<n;i++) { //n comes from function length()
if(list[i]==x){ // list comes from somewhere too
System.out.println(i); // print i
return true;
}
}
return false;
}
如果您需要从数组尾部打印最后i
个可能的开头:
boolean sequentialSearch(int x) {
for(int i=n-1;i>=0;i--) { //n comes from function length()
if(list[i]==x){ // list comes from somewhere too
System.out.println(i); // print i
return true;
}
}
return false;
}
答案 2 :(得分:0)
为什么你检查我!= 0,
而不是从i=1;
for(int i = 1; i < n; i++)
{
if(list[i] == x)
{
return true;
}
return false;
}
这更容易。 : - )
答案 3 :(得分:0)
你真的想打印i
并返回一个布尔值吗?由于-1
通常用于 not found ,为什么不将其拆分为两种方法。现在,您可以搜索您想要的任何目的,即使它是一个在Web应用程序中System.out
不可用的系统。
boolean sequentialSearch(int x) {
for(int i = 0, n = list.length; i < n; i++) {
if(list[i] == x) {
return i;
}
}
return -1;
}
// Later
int index = sequentialSearch(y);
if (index != -1) {
System.out.println(y + " found at index " + index);
} else {
System.out.println(y + " not found");
}
答案 4 :(得分:0)
如何单独打印最后一个值?
import java.util.Scanner;
public class Fibonacci {
public static void main(String[] arguments) {
int n1 = 0, n2 = 1, n3;
@SuppressWarnings("resource")
Scanner s = new Scanner(System.in);
System.out.print("Enter the value of n: ");
int n = s.nextInt();
for (int i = 0; i < n; ++i) {
n3 = n1 + n2;
n1 = n2;
n2 = n3;
System.out.println(""+n3);
}
}
}