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

Metodo main programa 2;

Estas en el tema de Metodo main programa 2; en el foro de Java en Foros del Web. Hola buenas ayer escribi porque tenia problemas para insertar un menu en el metodo main para lanzar el programa en cualquier maquina en java afortunadamente ...
  #1 (permalink)  
Antiguo 01/04/2012, 08:04
 
Fecha de Ingreso: marzo-2012
Mensajes: 30
Antigüedad: 12 años, 7 meses
Puntos: 0
Metodo main programa 2;

Hola buenas ayer escribi porque tenia problemas para insertar un menu en el metodo main para lanzar el programa en cualquier maquina en java afortunadamente me resolvieron el problema .Espero no ser canso ,el caso es que el programa que colgue ayer en el constructor del programa no habia que pasar datos.Hoy queria poner en practica lo que me habeis enseñado y he fracasado ,os escribo para que me podais volver ayudar por favor y tambien para ver si me podeis dar alguna referencia algun libro con ejercicios sencillos de monento o en el que me pueda currar este tipo de problemas.bueno he creado un programa sencillo persona cuando creo un objeto en bluej el constructor me pide nombre y edad.
Despues le he insertado 2 metodos para cambiar nombre y edad otros dos metodos para obtener el nombre y la edad .
ahora viene cuando la matamos he intentado escribir un metodo main que al lanzarlo me pidad el nombre y la edad.
Despues queria modificar el nombre , la edad y poder consultarlo .
nada por favor a ver si me podeis ayudar gracias:

/**
* Write a description of class Persona here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Persona
{

private int edad;
private String nombre;

/**
* Constructor classe Persona
*/
public Persona(String nombre,int edad)
{
this.nombre=nombre;
this.edad=edad;
}

/**
* obtener edad.
*/
public int getEdad()
{

return edad;
}

/**
* modificar la edad.
*/
public void setEdad(int edad)
{

this.edad=edad;
}


/**
* modificar el nombre.
*/
public void setNombre(String nombre)
{

this.nombre=nombre;
}

/**
* obtener nombre
*/
public String getNombre()
{

return nombre;
}


ayuda aqui gracias


/**
* lanzar programa.
*/
public static void main(String[] args)
{
Persona p=new Persona(String nombre,int edad);Esto me dice que esta mal

int edad;
String nombre;
System.out.println("Opciones:");
System.out.println("0 - poner nombre");
System.out.println("1 - poner edad");
System.out.println("2 - Imprimir detalles");
System.out.println("3 - Salir");
while(aqui no se que poner) {
int opcion;
System.out.print(">>> ");
Scanner scanner = new Scanner(System.in);
if(scanner.hasNextInt()) {
opcion = scanner.nextInt();
switch(opcion) {
case 0:
p.setNombre(String nombre);
break;
case 1:
p.setEdad(int edad);
break;
case 2:
System.out.println("El nombre es: " +p.getNombre()+ " su edad es:" +p.getEdad()+ "" );
break;
case 3:
; Aqui no se como decirle que finalice el programa
break;

}
}
}



}


}

Última edición por pipelojones; 01/04/2012 a las 08:06 Razón: fallos
  #2 (permalink)  
Antiguo 01/04/2012, 13:22
 
Fecha de Ingreso: diciembre-2011
Mensajes: 152
Antigüedad: 12 años, 11 meses
Puntos: 34
Respuesta: Metodo main programa 2;

Código:
Persona p = new Persona(String nombre,int edad); //Esto me dice que esta mal
Cuando inicializas una nueva instancia de alguna clase debes de pasar los valores necesarios, en tu caso estas pasandolos de forma incorrecta;
Código:
Persona p = new Persona("Luis", 20); //Forma correcta
String nombre = "Luis";
int edad = 20;
Persona otraPersona = new Persona(nombre, edad); //Otra forma tambien correcta
Código:
while(aqui no se que poner)
while evalua un booleano y dependiendo de su valor (true o false) ejecuta el codigo dentro de su bloque. Para salir del while simplemente asigna false a la variable que esta evaluando.

PD: Un buen libro de java; Como Programar en Java (Deitel & Deitel)
  #3 (permalink)  
Antiguo 01/04/2012, 14:29
 
Fecha de Ingreso: marzo-2012
Mensajes: 30
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Metodo main programa 2;

Hola luis que tal muchas gracias hasta ai entidendo he echo algun ejercicio que al crear un objeto tienes que pasarle los valores que pide su constructor.como el ejemplo que me has puesto.
Pero luego he visto otros objetos que crean otro objeto y al constructor de este le ponen algun metodo para darle un valor sin tener que introducirle el valor desde el codigo.Gracias por contestar la verdad que estoy empezando y se me apodera el java no tengo mucha idea bueno
  #4 (permalink)  
Antiguo 01/04/2012, 14:36
 
Fecha de Ingreso: marzo-2012
Mensajes: 30
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Metodo main programa 2;

/**
* lanzar programa.
*/
public static void main(String[] args)
{
Persona p=new Persona(String nombre,int edad);aqui me da error es que quiero lanzarlo y al lanzarlo poder poner el nombre y la edad anda ayudame que no se ni por donde me dael aire ji ja por favor

int this.edad=edad;
String this.nombre=nombre;
System.out.println("Opciones:");
System.out.println("0 - poner nombre");
System.out.println("1 - poner edad");
System.out.println("2 - Imprimir detalles");
System.out.println("3 - Salir");

boolean fin=false;
while(!fin) ) {
int opcion;
System.out.print(">>> ");
Scanner scanner = new Scanner(System.in);
if(scanner.hasNextInt()) {
opcion = scanner.nextInt();
switch(opcion) {
case 0:
p.setNombre(String nombre);
break;
case 1:
p.setEdad(int edad);
break;
case 2:
System.out.println("El nombre es: " +p.getNombre()+ " su edad es:" +p.getEdad()+ "" );
break;
case 3:
fin = false;
break;
default: System.out.println("Comando Invalido: " );
}
}
}
  #5 (permalink)  
Antiguo 01/04/2012, 14:46
 
Fecha de Ingreso: diciembre-2011
Mensajes: 152
Antigüedad: 12 años, 11 meses
Puntos: 34
Respuesta: Metodo main programa 2;

Código:
Persona p=new Persona(String nombre,int edad); //aqui me da error es que quiero lanzarlo y al lanzarlo poder poner el nombre y la edad anda ayudame que no se ni por donde me dael aire ji ja por favor
Debes de leer el nombre y la edad desde la consola o alguna interfaz grafica (awt, swing), si es desde la consola lee sobre los Streams (InputStream y OutputStream).

Código:
case 3:
     fin = false;
     break;
No va salir nunca del bucle por que en tu while estas evaluando:
Código:
while(!fin) //Mientras fin sea falso
solo cambia el codigo a:
Código:
case 3:
     fin = true;
     break;
PD: Usa las etiquetas CODE para ingresar el codigo.

Etiquetas: main, metodo, programa, string
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 10:24.