Java: identificador esperado

¿Cuál es el problema aquí?

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

Esto se queja:

  expected input.name(); 

Pon tu código en un método.

Prueba esto:

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

Luego “ejecuta” la clase desde tu IDE

No puede llamar a métodos fuera de un método. Código como este no puede flotar en la clase.

Necesitas algo como:

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

o dentro de un constructor:

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

Pruébelo así en su lugar, mueva sus elementos de myclass dentro de un método principal:

  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(); } } 

input.name() necesita estar dentro de una función; las clases contienen declaraciones, no un código aleatorio.

Class es solo un blueprint. La clase “MyClass” no tiene ningún método. Para realizar tareas tenemos que usar métodos. Por lo tanto, debemos incluir “input.name ();” dentro de un metodo