2013-08-06 170 views
1

我試圖輸出i的值index(i),但僅在最後一次迭代時輸出。我要麼得到一個錯誤,要麼輸出i的所有值。以下是我迄今爲止:僅在最後一次迭代時輸出For循環的值

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

你的代碼有幾個問題,你能解釋一下你想做什麼嗎? – nachokk

回答

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 
+0

我想輸出我也是,到目前爲止,你的確完全是我的以上所做的 –

+0

我編輯了我的答案。如果你想讓你的代碼返回索引,則返回''i''而不是''true''和''-1''而不是''false''。 –

+0

謝謝你的幫助 –

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; 
} 
+0

太棒了,我肯定有一個時刻。大聲笑。謝謝!我認爲這比這更復雜。 –

+0

樂意幫忙!那麼我真的很感謝你接受了答案。 – Tala

0

爲什麼ü從i=1;

for(int i = 1; i < n; i++) 
{ 
    if(list[i] == x) 
    { 
     return true; 
    } 
    return false; 
} 

這很容易檢查的我!= 0,而不是 迭代。 :-)

0

你真的想打印i並返回一個布爾值嗎?由於-1通常用於找不到,爲什麼不把它分成兩種方法。現在,您可以搜索任何您想要的目的,即使它是一個系統,其中System.out在Web應用程序中不可用。

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"); 
}  
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); 
     } 
    } 
} 
相關問題