Foros del Web » Programación para mayores de 30 ;) » Java »

como puedo imprimir el atributo en el método

Estas en el tema de como puedo imprimir el atributo en el método en el foro de Java en Foros del Web. public int numerr=0; // quiero imprimir esto, pero no imprime en el método public static void main(String args[]) { System.out.println("El numero ess "); //aqui si ...
  #1 (permalink)  
Antiguo 09/02/2013, 17:46
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 8
como puedo imprimir el atributo en el método

public int numerr=0; // quiero imprimir esto, pero no imprime en el método

public static void main(String args[])
{
System.out.println("El numero ess "); //aqui si imprime
// System.out.println("El numero ess "+numero); // preguntar porque no puedo imprimir la variable
}

quisiera saber como puedo imprimir este atributo en el método
gracias
  #2 (permalink)  
Antiguo 09/02/2013, 18:44
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 16 años, 4 meses
Puntos: 57
Respuesta: como puedo imprimir el atributo en el método

Código Java:
Ver original
  1. // System.out.println("El numero ess "+numero); // preguntar porque no puedo imprimir la variable

Estas tratando de imprimir la variable numero, ¿declaraste la variable numero?
  #3 (permalink)  
Antiguo 09/02/2013, 23:48
Avatar de zero0097  
Fecha de Ingreso: abril-2010
Ubicación: México
Mensajes: 481
Antigüedad: 14 años
Puntos: 69
Respuesta: como puedo imprimir el atributo en el método

Para usar una variable debes declararla primero, tienes una variable llamada numerr esa si la puedes usar, pero numero no existe, tienes que declararla.

Por otro lado, el metodo main es un método estático, y la variable numerr no lo es!, esto te dara un problema de non-static o algo asi, puedes solucionarlo de 2 formas, que la variable numerr sea static: public static int numerr = 0; o bien, crear un objeto de tu clase en el metodo main y usando ese objeto acceder a la variable num: new NombreDeClase().numerr

Por otro lado te recomiendo que los atributos los declares privados (private), mas que nada por convencion..
__________________
De nada, hay te encargo +1...
  #4 (permalink)  
Antiguo 10/02/2013, 07:31
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 8
Respuesta: como puedo imprimir el atributo en el método

Cita:
Iniciado por zero0097 Ver Mensaje
Para usar una variable debes declararla primero, tienes una variable llamada numerr esa si la puedes usar, pero numero no existe, tienes que declararla.

Por otro lado, el metodo main es un método estático, y la variable numerr no lo es!, esto te dara un problema de non-static o algo asi, puedes solucionarlo de 2 formas, que la variable numerr sea static: public static int numerr = 0; o bien, crear un objeto de tu clase en el metodo main y usando ese objeto acceder a la variable num: new NombreDeClase().numerr

Por otro lado te recomiendo que los atributos los declares privados (private), mas que nada por convencion..
disculpa ya puse asi y no me da de todos modos

public int numero=0; // quiero imprimir esto, pero no imprime en el método

public static void main(String args[])
{
System.out.println("El numero ess "); //aqui si imprime
// System.out.println("El numero ess "+numero); // preguntar porque no puedo imprimir la variable
}

quisiera saber como puedo imprimir este atributo en el método
gracias
  #5 (permalink)  
Antiguo 10/02/2013, 07:38
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 8
Respuesta: como puedo imprimir el atributo en el método

estoy tratando de imprimir esto desde un a estatica y no imprime
y no entiendo el porque


public int numero=0; // quiero imprimir esto, pero no imprime en el método
public static void main(String args[])
{
System.out.println("El numero ess "); //aqui si imprime
// System.out.println("El numero ess "+numero); // preguntar porque no puedo imprimir la variable
}

quisiera saber como puedo imprimir este atributo en el método
gracias
  #6 (permalink)  
Antiguo 10/02/2013, 07:39
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 8
Respuesta: como puedo imprimir el atributo en el método

Cita:
Iniciado por posman Ver Mensaje
Código Java:
Ver original
  1. // System.out.println("El numero ess "+numero); // preguntar porque no puedo imprimir la variable

Estas tratando de imprimir la variable numero, ¿declaraste la variable numero?
pero ya lo hice y no logro imprimir
  #7 (permalink)  
Antiguo 10/02/2013, 11:46
Avatar de zero0097  
Fecha de Ingreso: abril-2010
Ubicación: México
Mensajes: 481
Antigüedad: 14 años
Puntos: 69
Respuesta: como puedo imprimir el atributo en el método

checa lo que te puse como 2do punto...
Cita:
Iniciado por zero0097 Ver Mensaje
Por otro lado, el metodo main es un método estático, y la variable numerr no lo es!, esto te dara un problema de non-static o algo asi, puedes solucionarlo de 2 formas, que la variable numerr sea static: public static int numerr = 0; o bien, crear un objeto de tu clase en el metodo main y usando ese objeto acceder a la variable num: new NombreDeClase().numerr
Tu quieres imprimir la variable numero que esta declarada como miembro de clase (que es cuando la declaras fura de los metodos, como en este caso), dado que el metodo main() de java es estático NO podras hacer referencia a variables no estáticas, para eso tienes 2 soluciones.

1.- Declarar la variable numero también como estática. Esto es public static int numero = 0;.

2.- Crear un objeto de tu clase para así poder acceder a la variable de miembro. Esto es dentro del metodo main() crear: MiClase miObjeto = new MiClase(); luego puedes usa System.out.println("El numero es " + miObjeto.numero);


Por ejemplo:
Código Java:
Ver original
  1. public class Test {
  2.     //mi variable miembro de clase
  3.     public int numero = 0;
  4.  
  5.     public static void main(String[] args) {
  6.         //creo un objeto de mi clase
  7.         Test objeto = new Test();
  8.  
  9.         //usando ese objeto puedo usar la variable que pertenece al objeto!
  10.         System.out.println("el numero es" + objeto.numero);
  11.     }
  12. }

Si lo resumimos, puede quedar asi:
Código Java:
Ver original
  1. public class Test {
  2.     //mi variable miembro de clase
  3.     public int numero = 0;
  4.  
  5.     public static void main(String[] args) {
  6.         //creo un objeto de mi clase y al mismo tiempo lo uso
  7.         System.out.println("el numero es" + new Test().numero);
  8.     }
  9. }

O la otra solucion es:
Código Java:
Ver original
  1. public class Test {
  2.     //mi variable estática
  3.     public static int numero = 0;
  4.  
  5.     public static void main(String[] args) {
  6.         //ahora puedo usar la variable por que también es estática
  7.         System.out.println("el numero es" + numero);
  8.     }
  9. }

O también:
Código Java:
Ver original
  1. public class Test {
  2.     public static void main(String[] args) {
  3.         //mi variable ahora es local, la puedo usar sin problemas
  4.         int numero = 0;
  5.  
  6.         //creo un objeto de mi clase y al mismo tiempo lo uso
  7.         System.out.println("el numero es" + numero);
  8.     }
  9. }


Para resumir, cuando un método es estático (como el metodo main) no puedes mandar llamar metodos no estáticos ni variables no estaticas. A menos que crees un objeto como te he explicado arriba. Pero si el objeto lo creas como miembro de clase tendrás el mismo problema, a menos que el objeto tambien sea estático.

Te aconsejo, las variables miembro en lugar de public haslas private, y trata de usar lo menos que se pueda de metodos y variables estáticas.
__________________
De nada, hay te encargo +1...

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:33.