2017-05-14 1 views
-1

Ich habe gerade ein Programm zum Suchen eines Elements in einem Array geschrieben. Es hat aber gut funktioniert. ABER, wenn ich den Zugriffsspezifizierer der Variablen int i zu public änderte, kommt der Fehler (es hatte vorher keinen expliziten Zugangsmodifikator, also dachte ich, dass der Zugang der Standard war). Was mache ich falsch? Vielen Dank.Kann ich in der Hauptmethode "public int i = 0" schreiben?

public class Search { 
    public static void main(String args[]) { 
     int arr[] = new int[5]; 
     public int i; 
     int num, flag = 0; 
     Scanner sc = new Scanner(System.in); 
     System.out.println("Enter the array elements"); 
     for (i = 0; i < arr.length; i++) 
      arr[i] = sc.nextInt(); 
     System.out.println("Enter the number to be found"); 
     num = sc.nextInt(); 
     for (i = 0; i < arr.length; i++) { 
      if (num == arr[i]) { 
       System.out.println("Element Found!"); 
       flag = 1; 
       break; 
      } 
     } 
     if (flag == 0) 
      System.out.println("Element not found"); 
    } 
} 
+0

public class Suche { \t public static void main (String args []) \t { \t int arr [] = new int [5]; \t \t öffentliche int i; \t \t Int Nummer, Flag = 0; \t \t Scanner sc = neuer Scanner (System.in); \t \t System.out.println ("Geben Sie die Array-Elemente ein"); \t \t für (i = 0; i

+2

Nein. Sie können kein Klassenfeld ** in ** einer Methode deklarieren. –

+0

Was meinst du Elliott? Ich bin neu in Java. Danke für das Verständnis. –

Antwort

1

Sie können nicht Access Modifier verwenden, wie private und public innerhalb einer Methode.

Sie können int i = 0; innerhalb einer Methode haben.

+0

Oh, also mit jeder Variable oder Methode kann ich nicht Access Specifier in Hauptmethode? Um das zu tun, muss ich es als Klassenmitglied erklären/initialisieren, oder? –

+0

Ja, Sie haben Recht. – Sky

+0

Okay, Bruder. Vielen Dank für Ihre Hilfe. :)) Du warst wirklich hilfreich. :) –

Verwandte Themen