2016-12-05 7 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; 
    } 

} 

//私は紛失しているとは思っていますが、わかりません。 //どんな助けでも大歓迎です!

ありがとうございます。要素がない場合firstPositionを呼び出す防ぐため

+0

をするif(!値= 0)に対して何かを得ましたか。 –

答えて

0

が入力値と一致したあなたは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

ありがとうございました!それは完全に働いた! –

関連する問題