2017-04-10 71 views
0

我正在研究數組的搜索循環。當我試圖通過自己的代碼完成時,出現了一些我找不到的錯誤。順便說一句,我使用Netbeans進行java編碼。用於數組的Java搜索循環

我的數組搜索代碼:

public class JavaApplication { 

    public static void main(String[] args) { 
     int[] nums = new int[5]; 
     nums = new int[]{2, 4, 6, 8, 7}; 
     int target = 7; 
     for (int i = 0; i < nums.length; i++) { 
      if (nums[i] == target) { 
       return i; 
      } 
     } 
     return -1; 
    } 
} 

的NetBeans的說,是我的最後一個return語句不必要的return語句。

如何修復return語句並運行此代碼?

+4

如果您需要編寫任何功能在另一個方法中執行該功能並在主方法中調用該功能,則無法返回返回類型爲「無效」的值。 –

+1

我正在投票結束這個問題作爲題外話題,因爲提出作業幫助的問題必須包括您迄今爲止解決問題所做的工作的摘要,以及描述您解決問題的難度。 [來源](https://stackoverflow.com/help/on-topic) –

+0

對不起,我不知道你爲什麼投票關閉,這不是爲了自己做的這段代碼作業,對我來說難度是我不' t爲什麼會有不必要的回報,你可以像其他人一樣告訴我有一個虛空,所以你不能回來,而不是說一些不必要的東西好嗎? –

回答

2

當方法類型爲void時,不能返回任何內容。

如果你需要的,如果一個int在數組中發現或不打印,提取邏輯獨立的方法和打印結果這樣

public static void main(String[] args) { 
    int[]nums = {2,4,6,8,7}; // you can initialize the array like this 
    int target=7; 

    System.out.println(findValue(target, nums)); 

    } 



    private static int findValue(int target, int[] nums) { 
    for(int i=0; i<nums.length;i++){ 
    if(nums[i]==target) 
     return i; 

     } 
     return -1; 
    } 
+1

謝謝你幫我找到錯誤。 –

+0

沒問題,祝你好運! –

2

如何解決return語句,並運行此代碼?

您可以創建一個分離的方法,該方法返回一個int並把它在你的主要方法,例如:

public static void main(String[] args) throws Exception { 
    myMethod(); //call your method in the main method 
} 

public static int myMethod() { 
    int[] nums = new int[5]; 
    nums = new int[]{2, 4, 6, 8, 7}; 
    int target = 7; 
    for (int i = 0; i < nums.length; i++) { 
     if (nums[i] == target) { 
      return i; 
     } 
    } 
    return -1; 
} 

不能返回任何事情,當你的方法是無效的,再加上你可以」用main方法返回任何東西,但不允許在java中使用。

+1

謝謝我是新來的java,所以有時我犯了一些小錯誤。 –

+0

歡迎您@AllenLi –