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

Como asignar un valor retornado de un método estático

Estas en el tema de Como asignar un valor retornado de un método estático en el foro de Java en Foros del Web. Buenos dias: Llevo poquito tiempo , muy poco jeje , por los mundos de Java y tengo un problema que entiendo pero no se solucionarlo. ...
  #1 (permalink)  
Antiguo 23/11/2011, 03:31
 
Fecha de Ingreso: octubre-2007
Mensajes: 118
Antigüedad: 16 años, 6 meses
Puntos: 11
Como asignar un valor retornado de un método estático

Buenos dias:

Llevo poquito tiempo , muy poco jeje , por los mundos de Java y tengo un problema que entiendo pero no se solucionarlo.

Tengo
Código:
import java.util.Scanner;

public class Operaciones
{
private int = x;
private int = y;

public static void main(String args[])
{
Scanner teclado = new Scanner(System.in);
System.out.println("Escriba un numero: ");
this.x = teclado.nextInt();
}
}
El error es que no puedo almacenar un valor estático en una variable no estática.

¿Cómo puedo hacerlo entonces? Sin declarar estáticos los atributos de la clase ....


Un saludo y gracias.
  #2 (permalink)  
Antiguo 23/11/2011, 06:19
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Como asignar un valor retornado de un método estático

Los métodos y atributos estáticos son compartidos por todos los objetos de una misma clase (e incluso se pueden usar sin crear un objeto de la clase).

Por contra, los atributos y métodos de una clase que no son estáticos son únicos de cada objeto y para usarlos necesitas crear un objeto.

Por ello, desde un método estático no puedes acceder a los métodos y atributos no estáticos.

El problema que tienes se soluciona así:

Código Java:
Ver original
  1. import java.util.Scanner;
  2.  
  3. public class Operaciones
  4. {
  5. private int = x;
  6. private int = y;
  7.  
  8. public void setX(int x){
  9. this.x = x;
  10. }
  11.  
  12. public static void main(String args[])
  13. {
  14. Scanner teclado = new Scanner(System.in);
  15. System.out.println("Escriba un numero: ");
  16. Operaciones operacion = new Operaciones();
  17. operacion.setX(teclado.nextInt());
  18. }
  19. }
  #3 (permalink)  
Antiguo 23/11/2011, 08:55
 
Fecha de Ingreso: octubre-2007
Mensajes: 118
Antigüedad: 16 años, 6 meses
Puntos: 11
Respuesta: Como asignar un valor retornado de un método estático

Muchísimas gracias :).

Yo lo había solucionado así:
Código:
Persona persona1 = new Persona();
resultado = persona1.obtenerNombre();
persona1.setNombre(resultado);
donde obtenerNombre es:
Código:
 public String obtenerNombre()
    {
        String nom;
        Scanner teclado = new Scanner(System.in);
        System.out.println("Introduce un nombre: ");
        nom = teclado.nextLine();
        return nom;
    }
Pensando que al declarar yo una variable local , ahí lo asignaba y luego realmente estaba haciendo lo mismo que tú, que es lo válido. Yo lo solucioné mal jeje


Muchas gracias :D
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 20:42.