2016-12-05 66 views
0

我需要幫助搞清楚如何不調用方法firstPosition如果方法發生返回零。不使用方法,如果零在

import java.util.Scanner; 

public class SearchArray 
{ 
    public static void main(String[] args) 
    { 
     int[] numbers = {1,2,3,4,5,6,7,8,9,10,2,4,6,8,10,1,3,5,7,9}; 
     int searchValues; 
     int value; 
     int position; 

     Scanner keyboard = new Scanner(System.in); 
     System.out.println("Enter a number between 1 and 10: "); 
     searchValues = keyboard.nextInt(); 

     value = occurs(searchValues, numbers); 
     position = firstPosition(searchValues, numbers); 


     System.out.println(searchValues + " occurs " + value + " times, the   first occurence" + " is at position " + (position + 1)); 


    } 
    public static int occurs (int searhValue, int[] numbers) 
    { 
     int searchValues = 0; 

     for (int i = 0; i<numbers.length; i++) 
     { 
      if(searhValue == numbers[i]) 
      searchValues++; 
     } 
     return searchValues; 
    } 
    public static int firstPosition (int searchValue, int[] numbers) 
    { 
     int i; 

     for (i=0; i<numbers.length; i++) 
     { 
      if(searchValue == numbers[i]) 
      return i;  
     } 
     return -1; 
    } 

} 

//我很肯定這是簡單的,我失蹤了,但我似乎無法//弄明白。 //任何幫助將不勝感激!

在此先感謝。

+0

了反對的東西,如果(值!= 0)? –

回答

0

防止調用firstPosition如果沒有元素匹配的輸入值,則必須調用occurs後檢查:

value = occurs(searchValues, numbers); 
    System.out.println(searchValues + " occurs " + value + " time(s)"); 
    if (value > 0) { 
     position = firstPosition(searchValues, numbers); 

     System.out.println("The first occurence" + " is at position " + (position + 1)); 
    } 
+0

非常感謝您的幫助!它工作完美! –