2015-10-19 4 views
2
public class NewChanceOefententamen { 

    /* de methode die checkt of het getal voorkomt*/ 
    public static boolean komtVoorIn(int zoekgetal, int[] lijst){ 

     //voor elk getal in het array 
     for (int i = 0; i < lijst.length; i++){ 

      //als het overeenkomt met de waarde in het array 
      if (zoekgetal == lijst[i]){ 
       return true; 
      } 
     } 
     return false; 
    } 

    public static void main(String[] args) { 
     Scanner input = new Scanner (System.in); 
     int[] zoekgetal = new int[3]; 
     int[] getal = new int[3]; 
     getal = new int [3]; 
     getal[0] = (int)(Math.random() * 8 + 1); 
     getal[1] = (int)(Math.random() * 8 + 1); 
     getal[2] = (int)(Math.random() * 8 + 1); 
     zoekgetal = new int [1]; 

     System.out.println("geef 3 verschillende getallen tussen 1 en 8," 
      + " gescheiden door spaties: "); 
     zoekgetal[0] = input.nextInt(); 

     System.out.println(Arrays.toString(getal)); 

     if(komtVoorIn(zoekgetal = getal) == true){ 

     } else { 

     }    
    }   
} 

В любом случае, как я могу исправить это и преобразовать int так, чтобы оператор if был прав? я благодарю васне может преобразовать int [] в int

+1

Какую линию вы получите ошибку в? – Siddhartha

+1

Я думаю, вам нужна запятая вместо = на строке '' 'if (komtVoorIn (zoekgetal = getal) == true) {' '' – Siddhartha

+1

Кроме того, komtVoorIn принимает целое число для своего первого аргумента, и вы проходите мимо '' 'zoekgetal''', который представляет собой целочисленный массив. Вам нужно передать '' 'zoekgetal [0]' '' или '' 'zoekgetal [i]' '' где i - это циклическая переменная, циклическая по ее содержимому. – Siddhartha

ответ

1

Пожалуйста, попробуйте следующий код:

public class NewChanceOefententamen { 

    public static boolean komtVoorIn(int zoekgetal, int[] lijst) { // de methode 
                   // die 
                   // checkt of 
                   // het getal 
                   // voorkomt 
     for (int i = 0; i < lijst.length; i++) { // voor elk getal in het array 
      if (zoekgetal == lijst[i]) { // als het overeenkomt met de waarde in 
             // het array 
       return true; // return true 
      } 
     } 
     return false; 
    } 

    public static void main(String[] args) { 
     Scanner input = new Scanner(System.in); 
     int[] zoekgetal = new int[3]; 
     int[] getal = new int[3]; 
     getal = new int[3]; 
     getal[0] = (int) (Math.random() * 8 + 1); 
     getal[1] = (int) (Math.random() * 8 + 1); 
     getal[2] = (int) (Math.random() * 8 + 1); 
     zoekgetal = new int[1]; 

     System.out.println("geef 3 verschillende getallen tussen 1 en 8, gescheiden door spaties: "); 
     zoekgetal[0] = input.nextInt(); 

     System.out.println(Arrays.toString(getal)); 

     if (komtVoorIn(zoekgetal[0], getal) == true) { 
     } else { 
     } 
    } 
} 
+1

он работает! спасибо за подсказку –

+0

Спасибо большое :) –

1

Вы вызываете функцию komVoorin с неправильными аргументами

+1

и как я могу использовать его с правильными аргументами, можно привести пример? –