Java: ID verwacht

Wat is hier het probleem?

class UserInput {
  public void name() {
    System.out.println("This is a test.");
  }
}
public class MyClass {
  UserInput input = new UserInput();
  input.name();
}

Dit klaagt:

<identifier> expected
   input.name();

Antwoord 1, autoriteit 100%

Zet je code in een methode.

Probeer dit:

public class MyClass {
    public static void main(String[] args) {
        UserInput input = new UserInput();
        input.name();
    }
}

Vervolgens “voer” de klas uit vanuit uw IDE


Antwoord 2, autoriteit 36%

Je kunt geen methoden buiten een methode aanroepen. Code als deze kan niet rondzweven in de klas.

Je hebt zoiets nodig als:

public class MyClass {
  UserInput input = new UserInput();
  public void foo() {
      input.name();
  }
}

of binnen een constructor:

public class MyClass {
  UserInput input = new UserInput();
  public MyClass() {
      input.name();
  }
}

Antwoord 3, autoriteit 18%

input.name()moet zich in een functie bevinden; klassen bevatten declaraties, geen willekeurige code.


Antwoord 4, autoriteit 10%

Probeer het in plaats daarvan zo, verplaats je myclass-items naar een hoofdmethode:

   class UserInput {
      public void name() {
        System.out.println("This is a test.");
      }
    }
    public class MyClass {
        public static void main( String args[] )
        {
            UserInput input = new UserInput();
            input.name();
        }
    }

Other episodes