Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Dan_SB

Páginas: 1 ... 9 10 11 12 13 [14]
261
Buenas tardes!

He venido aquí a colmarles la paciencia de nuevo... (Ok, solo bromeo  ::)) aqui os vengo a entregarles el ejercicio sobre operadores aritméticos, que dice así:

Citar
Define una clase Medico considerando los siguientes atributos de clase: nombre (String), apellidos (String), edad (int), casado (boolean), numeroDocumentoIdentidad (String), especialidad (String). Define un constructor asignando unos valores de defecto a los atributos y los métodos para poder establecer y obtener los valores de los atributos. Define un método de nombre “calculoParaMultiploEdad” que no recibe parámetros y es tipo procedimiento cuyo cometido será el siguiente: determinar cuántos años faltan para que la edad del médico sea múltiplo de 5 y mostrar un mensaje informativo por pantalla. Por ejemplo si el médico tiene 22 años deberá en primer lugar obtener el resto de la división de 22 entre 5, que es 2. Ahora obtendrá los años que faltan para que el médico tenga una edad múltiplo de 5, que serán 5-2 = 3 años. A continuación deberá mostrar un mensaje por consola del tipo: “El médico de nombre … con especialidad … tendrá una edad múltiplo de 5 dentro de … años”. Compila el código para comprobar que no presenta errores, crea un objeto, usa sus métodos y comprueba que aparezcan correctamente los mensajes por consola, y que cuando cambias la edad aparece correctamente el tiempo que falta para que la edad sea múltiplo de 5.

Solo voy hacer lo que dice aquí, no mas como lo había prometido... xD

Código: [Seleccionar]
package MediCenter;

public class Medico {
    private String nombre, apellido, numeroDocumentoIdentidad, especialidad;
    private int edad;
    private boolean casado;
   
    public Medico(){
        nombre = "";
        apellido = "";
        numeroDocumentoIdentidad = "";
        especialidad = "";
        edad = 0;
        casado = false;
    }
       
    public void setNombre(String ingresoNombre){
        nombre = ingresoNombre;       
    }
   
    public void setApellido(String ingresoApellido){
        apellido = ingresoApellido;
    }
   
    public void setNumeroDocumentoIdentidad (String ingresoNumeroDocumentoIdentidad){
        numeroDocumentoIdentidad = ingresoNumeroDocumentoIdentidad;
    }
   
    public void setEspecialidad (String ingresoEspecialidad){
        especialidad = ingresoEspecialidad;
    }
   
    public void setEdad(int ingresoEdad){
        edad = ingresoEdad;
    }
   
    public void setCasado(boolean ingresoCasado){
        casado = ingresoCasado;
    }
   
    public String getNombre(){
        return nombre;
    }
   
    public String getApellido(){
        return apellido;
    }
   
    public String getNumeroDocumentoIdentidad(){
        return numeroDocumentoIdentidad;
    }
   
    public String getEspecialidad(){
        return especialidad;
    }
   
    public int getEdad(){
        return edad;
    }
   
    public boolean getCasado(){
        return casado;
    }
   
     public void calculoParaMultiploEdad(){
        int moduloEdad;
        moduloEdad = edad % 5;
        moduloEdad = 5 - moduloEdad;
        System.out.println("El medico de nombre: " + nombre + " ,con especialidad: " + especialidad + " ,tendra una edad multiplo de 5 en " + moduloEdad + " años.");
    }
   
}

Espero con muchas ansias su respuesta!!
Gracias!

262
Creo que yo soy al que mas cosas le han dicho xDDD

263
Chispas... ok ok, brain wash, Blue J, no mas main hasta que lo vea ni else, ni switch, ni arreglos ;s

Ya vi el ejercicio, creo que ya no vale la pena desarrollarlo, ya vi como lo hizo, mi disculpas de nuevo.

Gracias.

264
Buenos días

En esta oportunidad, quiero presentarles mi código sobre el siguiente ejercicio:

Considera estás desarrollando un programa Java donde necesitas trabajar con objetos de tipo Medico (que representa a un médico de un hospital). Define una clase Medico considerando los siguientes atributos de clase: nombre (String), apellidos (String), edad (int), casado (boolean), numeroDocumentoIdentidad (String), especialidad (String). Define un constructor asignando unos valores de defecto a los atributos y los métodos para poder establecer y obtener los valores de los atributos. En cada método, incluye una instrucción para que se muestre por consola un mensaje informando del cambio. Por ejemplo si cambia la especialidad del médico, debe aparecer un mensaje que diga: “Ha cambiado la especialidad del médico de nombre … . La nueva especialidad es: …”.

Hice 1 objeto medico, para no hacer tan extenso el código. Por cierto, tome nota y separe las clases. Una clase es el "Medico", la otra clase es el "Main"... vi a otro en este foro crear una clase para la lectura.. Decidí ponerlo a prueba con este código, aquí va:

Clase Main:
Código: [Seleccionar]
package MediCenter;

public class MainMedico {
    static String dato[] = new String [4];
    static int num;
    static boolean salir = false, ingresado = false, ok = false;
    static Medico medico1;
    static char elige;
   
    public static void main (String[]args){
        medico1 = new Medico();
       
        System.out.println("Buenas tardes.");
        do{
            System.out.println("Elija una de las siguientes opciones que desea realizar: ");
            System.out.println("Ingrese A para ingresar datos del medico.");
            System.out.println("Ingrese B para salir del programa.");
            elige = LeerDato.LeerCaracter();
            switch (elige){
                case 'A':
                case 'a':
                    ingresadorDato();                   
                break;
                case 'B':
                case 'b':
                    salir = true;
                break;
                default:
                    System.out.println("Caracter invalido.");
                break;
                }
        }while(salir == false);     
    }
   
    public static void ingresadorDato(){
        System.out.println("<---------------------------->");
        if (ok == false){
        System.out.println("Ingrese el nombre del medico: ");
        dato[0] = LeerDato.LeerCadena();
        System.out.println("Ingrese el apellido del medico: ");
        dato[1] = LeerDato.LeerCadena();
        System.out.println("¿Cuál es la edad del medico?: ");
        num = LeerDato.LeerNumero();
        System.out.println("Ingrese el numero de identidad del medico: ");
        dato[2] = LeerDato.LeerCadena();       
        System.out.println("Ingrese la especialidad del medico: ");
        dato[3] = LeerDato.LeerCadena();
        System.out.println("¿Es casado?: ");
        ingresado = LeerDato.LeerBooleano();
        medico1.setNombre(dato[0]);
        medico1.setApellido(dato[1]);
        medico1.setNumeroDocumentoIdentidad(dato[2]);
        medico1.setEspecialidad(dato[3]);
        medico1.setEdad(num);
        medico1.setCasado(ingresado);
        ok = true;
        }   
        else if (ok == true){
        System.out.println("Ingresa el nuevo nombre del medico: ");
        dato[0] = LeerDato.LeerCadena();
        System.out.println(medico1.getNombre() + " ahora se llama: " + dato[0] + ".");
        System.out.println("Ingresa el nuevo apellido de " + dato[0] + ".");
        dato[1] = LeerDato.LeerCadena();
        System.out.println("Antes el apellido de " + dato[0] + " era " + medico1.getApellido() + ", ahora su apellido es: " + dato[1] + ".");
        System.out.println("Ingresa la nueva edad de " + dato[0] + ".");
        num = LeerDato.LeerNumero();
        System.out.println(dato[0] + " tenia " + medico1.getEdad() + ",ahora tiene: " + num);
        System.out.println("Ingrese el nuevo numero de identidad de " + dato[0] + ".");
        dato[2] = LeerDato.LeerCadena();
        System.out.println(dato[0] + ", con numero de identidad: " + medico1.getNumeroDocumentoIdentidad() + "... ahora cambio a " + dato[2] + ".");
        System.out.println("Ingrese la nueva especialidad de " + dato[0] + ".");
        dato[3] = LeerDato.LeerCadena();
        System.out.println("La vieja especialidad de " + dato[0] + " era " + medico1.getEspecialidad() + ", ahora a cambiado a " + dato[3] + ".");
        medico1.setNombre(dato[0]);
        medico1.setApellido(dato[1]);
        medico1.setNumeroDocumentoIdentidad(dato[2]);
        medico1.setEspecialidad(dato[3]);
        medico1.setEdad(num);
        medico1.setCasado(ingresado);
        }
        System.out.println("<---------------------------->");
    }   
}

Clase medico
Código: [Seleccionar]
package MediCenter;

public class Medico {
    private String nombre, apellido, numeroDocumentoIdentidad, especialidad;
    private int edad;
    private boolean casado;
   
    public Medico(){
        nombre = "";
        apellido = "";
        numeroDocumentoIdentidad = "";
        especialidad = "";
        edad = 0;
        casado = false;
    }
   
    public void setNombre(String ingresoNombre){
        nombre = ingresoNombre;       
    }
   
    public void setApellido(String ingresoApellido){
        apellido = ingresoApellido;
    }
   
    public void setNumeroDocumentoIdentidad (String ingresoNumeroDocumentoIdentidad){
        numeroDocumentoIdentidad = ingresoNumeroDocumentoIdentidad;
    }
   
    public void setEspecialidad (String ingresoEspecialidad){
        especialidad = ingresoEspecialidad;
    }
   
    public void setEdad(int ingresoEdad){
        edad = ingresoEdad;
    }
   
    public void setCasado(boolean ingresoCasado){
        casado = ingresoCasado;
    }
   
    public String getNombre(){
        return nombre;
    }
   
    public String getApellido(){
        return apellido;
    }
   
    public String getNumeroDocumentoIdentidad(){
        return numeroDocumentoIdentidad;
    }
   
    public String getEspecialidad(){
        return especialidad;
    }
   
    public int getEdad(){
        return edad;
    }
   
    public boolean getCasado(){
        return casado;
    }
   
}


Clase LeerDato
Código: [Seleccionar]
package MediCenter;
import java.util.Scanner;

public class LeerDato {
    public LeerDato(){           
    }
   
    static char LeerCaracter(){
        Scanner in = new Scanner (System.in);
        char opcion = in.next().charAt(0);
        return opcion;
    }
   
    static String LeerCadena(){
        Scanner in = new Scanner (System.in);
        String dato = in.nextLine();
        return dato;
    }
   
    static int LeerNumero(){
        Scanner in = new Scanner (System.in);
        int num = in.nextInt();
        return num;
    }
   
    static boolean LeerBooleano(){
        Scanner in = new Scanner (System.in);
        boolean lel = in.nextBoolean();
        return lel;
    }
}

Intente primero ponerle los mensajes en la clase Medico como dice de insertarselo a cada método, pero no se me hacia posible manejar los objetos ahí... yo entendí que se deseaba insertarse los mensajes en cada método, no se si de esta forma es incorrecta o no. Aquí la ejecución:





Aquí hay por cierto, un misterio... se trata de los arreglos. Yo inicialize mi arreglo con 3 espacios originalmente, pero algo raro pasa... me suelta un "OutOfBonds", cosa que no debería ocurrir, porque con 3 estaría teniendo 4 espacios en realidad, forzosamente me vi obligado a cambiárselo a 4, que funciono:

0 = nombre
1 = apellido
2 = numero de identidad
3 = especialidad

Hace tiempo atras (no mucho) me sucedió que mi nextLine(); me dejaba un espacio, suponte que estoy insertando datos y me sale así la ejecución:

Ingrese nombre y apellido:
Cristian Grey
Ingrese cedula:
Ingrese Sexo:
Masculino
...
...

No me dejaba insertarle la cédula (en este ejemplo, originalmente era con libros) La solución que me dieron fue, volver a escribir abajo in.nextLine();... que funciono. Yo la verdad no creo que eso funcionara así, O quizá mi código se tomaba un espacio, quisiera saber porque sucedía esto (Y perdone que les aborde el tema de esta forma :S)

Código: [Seleccionar]
package ejemplo2;
import java.util.Scanner;
public class Ejemplo2 {
public static class inventario{
static String titulo[] = new String [25];
static String fecha_pub[] = new String [20];
static String autor[] = new String [30];
static int num = 0;
static int pedido = 0;
static float precio_venta = 0;
}
public static void main(String[] args) {
Scanner in = new Scanner (System.in);
int total = 0;
boolean A = false;
String b[] = new String [21];
char resp;
do {
System.out.println("Total libros: \n" + (total = total + 1));
System.out.println("¿Cual es el titulo?: ");
inventario.titulo[total] = in.nextLine();
System.out.println("Cual es la fecha de publicacion?: ");
inventario.fecha_pub[total] = in.nextLine();
System.out.println("Quien es el autor?");
inventario.autor[total] = in.nextLine();
System.out.println("¿Cuantos libros existen?: ");
inventario.num = in.nextInt();
System.out.println("¿Cuantos ejemplares existen pedidos?");
inventario.pedido = in.nextInt();
System.out.println("¿Cual es el precio de venta?");
inventario.precio_venta = in.nextFloat();
System.out.println("Imprimiendo...");
    System.out.println("Titulo del libro "+ total +" : "+ inventario.titulo[total]);
    System.out.println("Fecha de publicacion del libro " + total + " : " + inventario.fecha_pub[total]);
    System.out.println("Autor de "+ inventario.titulo[total] + " : " + inventario.autor[total]);
    System.out.println("Numero de libros existentes: " + inventario.num);
    System.out.println("Ejemplares pedidos: " + inventario.pedido);
    System.out.println("Precio de venta: " + inventario.precio_venta);
System.out.println("¿Hay mas libros?");
resp = in.next().charAt(0);
in.nextLine();   // <------------ La solución del problema
if (resp == 'N' ||  resp == 'n'){
A = true;
}
}while (A != true);   
}
}

Mil gracias y espero con ansias sus respuestas!

265
Ok!! entonces las respuestas serian:

1) public double getDuracion(int numeroCancion) Función
2) public void setDuracionTotalDelDisco () Método procedimiento
3) public double getDuracionTotal() Función
4) public void setCancion (String ingresoTitulo, Double ingresoDuracionCancion) Método procedimiento


El tip para diferenciar es:

public void (Procedimiento)
public string, int, double... etc (funcion)

Funciones siempre darán return, copiado!

Mil gracias de nuevo por su valiosa ayuda!! esta pagina es oro!!

266
Ahora si hago las cosas como son, y mil disculpas de nuevo!!

Demore un poco por la Universidad  :-\ .. aquí les dejo a ver si ando en lo correcto o no:

1. Obtener la duración de una canción expresada como un número decimal en minutos (por ejemplo podría ser 3,22 minutos) recibiendo como dato el número de canción dentro del disco.

Se trata de un método tipo función.

public double getDuracion()

2. Pedir a un administrador de una compañía discográfica que introduzca la duración de todas las canciones (dichas duraciones se almacenarán como información del objeto). Es decir, el método se encargará de saludar al usuario y pedirle que vaya introduciendo una por una la duración de las canciones.

Se trata de un método tipo procedimiento. Por lo que veo con este método ingresas todos los elementos del disco, y el anterior que se vio lo que hace es pedir la duración de uno de los temas que inserto con este método.

public void setDuracion (double ingresoDuracion)

3. Obtener la duración del disco completo (suma de las duraciones de cada una de las canciones).

Es otra función consultora, al parecer devuelve el resultado de otro método procedimiento que sumara todas las canciones del disco.

public double getDuracionTotal()

4. Añadir una canción al disco recibiendo como información para ello el título de la canción y su duración (se añadirá como última canción en el disco. Si el disco tenía por ejemplo 10 canciones, al añadirse una canción pasará a tener 11).

Por ultimo, este sera un método tipo procedimiento, ya que al añadirle una canción mas, estamos haciendo una operación.. por añadirle otro tema mas y a consecuencia de eso, su duración aumentaría.

public void setCancion (String ingresoTitulo, Double ingresoDuracionCancion)

Gracias de nuevo, si estoy en lo incorrecto seria de mucha ayuda su corrección y explicación... y disculpen de nuevo, por la otra metida de pata que hice! jajaja.

(Y sip, no mas definiciones de metodos y clases en el main... tendre cautela de que no vuelva a pasar)

267
Huy... que pena, mil disculpas por mi falta de atención... por eso mismo vine aquí a ver en que mejoro.. la verdad que esa profe del cuatrimestre pasado solo programaba en un main, me esforzare un poco mas..  :-[

Una preguntita, cuando hablas de signaturas a que se refiere? :-\


268
Hola a todos!!!

Vengo a hacer una entrega de este ejercicio con el siguiente enunciado:

Considera estás desarrollando un programa Java donde necesitas trabajar con objetos de tipo DiscoMusical. Define las signaturas para métodos dentro dicha clase e indica si deberán ser procedimientos o funciones para los siguientes objetivos planteados:

1) Obtener la duración de una canción expresada como un número decimal en minutos (por ejemplo podría ser 3,22 minutos) recibiendo como dato el número de canción dentro del disco.

2) Pedir a un administrador de una compañía discográfica que introduzca la duración de todas las canciones (dichas duraciones se almacenarán como información del objeto). Es decir, el método se encargará de saludar al usuario y pedirle que vaya introduciendo una por una la duración de las canciones.

3) Obtener la duración del disco completo (suma de las duraciones de cada una de las canciones).

4) Añadir una canción al disco recibiendo como información para ello el título de la canción y su duración (se añadirá como última canción en el disco. Si el disco tenía por ejemplo 10 canciones, al añadirse una canción pasará a tener 11).


Bien, hice el programa a mi estilo (pero claro, siguiendo según entendí el enunciado lo que piden!) Nos están pidiendo ahora ingresar los datos de cada disco al programa... Imagine un menú donde el usuario elija que acción realizar y demás! para los temas musicales, decidí crear un arreglo para los nombres, y otro arreglo para la duración de cada canción (Un arreglo bidimensional... también podía ser...) para el menú, cree una variable char para que el usuario ingresara la opción que quería ejecutar, al elegir el usuario la opción, use algo que no suelo utilizar... en la Universidad la profe se enojaba porque no me veía usarlo nada... se trata de la sentencia Switch, decidí usarlo por practica, razón principal porque sigo el curso! los arreglos tendrán un máximo de 20 espacios.

El constructor contrendra las variables nombreDisco, autor, formato, indiceCancion, duracion, nombreCancion y duracionCancion. Sera los atributos que contendrá cada objeto que creemos.

Aquí presento el código:
Código: [Seleccionar]
package DiscMan;
import java.util.Scanner;

public class DiscoMusical {
    private String nombreDisco, autor, formato, nombreCancion[];
    private int indiceCancion;
    private double duracion, duracionCancion[];
    private static int salir, elige, num, full;
    private static char opcion;
   
    public DiscoMusical(){
        nombreDisco = "";
        autor = "";
        formato = "";
        duracion = 0;
        indiceCancion = 0;
        nombreCancion = new String [20];
        duracionCancion = new double [20];
    }
   
   
    public static void main (String[]args){
    String data;
    int can = 0;
    DiscoMusical Disco1, Disco2, Disco3;   
    Disco1 = new DiscoMusical();
    Disco2 = new DiscoMusical();
    Disco3 = new DiscoMusical();
    Scanner in = new Scanner(System.in);   
    do{
        System.out.println("Bienvenido seas a este programa, ¿que actividad deseas ejecutar?");
        System.out.println("Ingresa A para añadir datos al disco.");
        System.out.println("Ingrese B para añadir una cancion al disco.");
        System.out.println("Ingrese C para obtener la duracion total del disco y sus datos.");
        System.out.println("Ingrese D para salir del programa");
        opcion = in.next().charAt(0);
        switch(opcion){
            case 'A':
            case 'a':
                System.out.println("***************************************************");
                System.out.println("A cual de los 3 discos deseas añadirle informacion?");
                elige = in.nextInt();
                if (elige == 1){
                    System.out.println("Has elegido el disco 1!");
                    System.out.println("Ingesa el nombre del disco 1: ");
                    data = in.next();
                    Disco1.setNombreDisco(data);
                    System.out.println("Ingresa el autor del disco 1: ");
                    data = in.next();
                    Disco1.setAutor(data);
                    System.out.println("Ingresa el formato del disco 1: ");
                    data = in.next();
                    Disco1.setFormato(data);
                    System.out.println("<------------------------------------------------->");
                    System.out.println("Ahora ingrese, ¿cuantas canciones tiene el albúm?: ");
                    num = in.nextInt();
                    if (num > 20) {
                        System.out.println("Solo se pueden almacenar un maximo de 20 canciones.");
                    }
                    else {
                    Disco1.setIndiceCancion(num);
                    can = 0;
                    for (int i = 0; i < Disco1.getIndiceCancion(); i++){
                        can++;
                        System.out.println("Ingrese el nombre de la cancion " + can + " :");
                        Disco1.nombreCancion[i] = in.next();
                        System.out.println("Ingrese la duracion de la cancion " + can + " :");
                        Disco1.duracionCancion[i] = in.nextDouble();
                        Disco1.duracion = Disco1.duracion + Disco1.duracionCancion[i];
                    }
                    full++;
                    }
                    System.out.println("Ingreso exitoso.");
                    System.out.println("***************************************************");
                }
                else if (elige == 2) {
                    System.out.println("Has elegido el disco 2!");
                    System.out.println("Ingesa el nombre del disco 2: ");
                    data = in.next();
                    Disco2.setNombreDisco(data);
                    System.out.println("Ingresa el autor del disco 2: ");
                    data = in.next();
                    Disco2.setAutor(data);
                    System.out.println("Ingresa el formato del disco 2: ");
                    data = in.next();
                    Disco2.setFormato(data);
                    System.out.println("<------------------------------------------------->");
                    System.out.println("Ahora ingrese, ¿cuantas canciones tiene el albúm?: ");
                    num = in.nextInt();
                    if (num > 20) {
                        System.out.println("Solo se pueden almacenar un maximo de 20 canciones.");
                    }
                    else {
                    Disco2.setIndiceCancion(num);
                    can = 0;
                    for (int i = 0; i < Disco2.getIndiceCancion(); i++){
                        can++;
                        System.out.println("Ingrese el nombre de la cancion " + can + " :");
                        Disco2.nombreCancion[i] = in.next();
                        System.out.println("Ingrese la duracion de la cancion " + can + " :");
                        Disco2.duracionCancion[i] = in.nextDouble();
                        Disco2.duracion = Disco2.duracion + Disco2.duracionCancion[i];
                    }
                    full++;
                    }
                    System.out.println("Ingreso exitoso.");
                    System.out.println("***************************************************");
                }
                else if (elige == 3){
                    System.out.println("Has elegido el disco 3!");
                    System.out.println("Ingesa el nombre del disco 3: ");
                    data = in.next();
                    Disco3.setNombreDisco(data);
                    System.out.println("Ingresa el autor del disco 3: ");
                    data = in.next();
                    Disco3.setAutor(data);
                    System.out.println("Ingresa el formato del disco 3: ");
                    data = in.next();
                    Disco3.setFormato(data);
                    System.out.println("<------------------------------------------------->");
                    System.out.println("Ahora ingrese, ¿cuantas canciones tiene el albúm?: ");
                    num = in.nextInt();
                    if (num > 20) {
                        System.out.println("Solo se pueden almacenar un maximo de 20 canciones.");
                    }
                    else {
                    Disco3.setIndiceCancion(num);
                    can = 0;
                    for (int i = 0; i < Disco3.getIndiceCancion(); i++){
                        can++;
                        System.out.println("Ingrese el nombre de la cancion " + can + " :");
                        Disco3.nombreCancion[i] = in.next();
                        System.out.println("Ingrese la duracion de la cancion " + can + " :");
                        Disco3.duracionCancion[i] = in.nextDouble();
                        Disco3.duracion = Disco3.duracion + Disco3.duracionCancion[i];
                    }
                    full++;
                    }
                    System.out.println("Ingreso exitoso.");
                    System.out.println("***************************************************");
                }
                else
                    System.out.println("No se encuentra el disco.");
                System.out.println("***************************************************");
            break;
            case 'B':
            case 'b':   
                System.out.println("Elige a cual disco quieres agregarle una nueva cancion: ");
                elige = in.nextInt();
                if (elige == 1){
                    if (Disco1.indiceCancion >= 20){
                        System.out.println("Se ha llegado al limite de canciones.");
                    }
                    else{
                    System.out.println("***************************************************");
                    Disco1.indiceCancion++;
                    System.out.println("Ingrese el nombre de la nueva cancion: ");
                    Disco1.nombreCancion[Disco1.indiceCancion] = in.next();
                    System.out.println("Ingrese la duracion de la nueva cancion: ");
                    Disco1.duracionCancion[Disco1.indiceCancion] = in.nextDouble();
                    Disco1.duracion = Disco1.duracion + Disco1.duracionCancion[Disco1.indiceCancion];
                    System.out.println("***************************************************");
                    }
                }
                else if (elige == 2){
                    if (Disco2.indiceCancion >= 20){
                        System.out.println("Se ha llegado al limite de canciones.");
                    }
                    else{
                    System.out.println("***************************************************");
                    Disco2.indiceCancion++;
                    System.out.println("Ingrese el nombre de la nueva cancion: ");
                    Disco2.nombreCancion[Disco2.indiceCancion] = in.next();
                    System.out.println("Ingrese la duracion de la nueva cancion: ");
                    Disco2.duracionCancion[Disco2.indiceCancion] = in.nextDouble();
                    Disco2.duracion = Disco2.duracion + Disco2.duracionCancion[Disco2.indiceCancion];
                    System.out.println("***************************************************");
                    }
                }
                else if (elige == 3){
                    if (Disco3.indiceCancion >= 20){
                        System.out.println("Se ha llegado al limite de canciones.");
                    }
                    else{
                    System.out.println("***************************************************");
                    Disco3.indiceCancion++;
                    System.out.println("Ingrese el nombre de la nueva cancion: ");
                    Disco3.nombreCancion[Disco3.indiceCancion] = in.next();
                    System.out.println("Ingrese la duracion de la nueva cancion: ");
                    Disco3.duracionCancion[Disco3.indiceCancion] = in.nextDouble();
                    Disco3.duracion = Disco3.duracion + Disco1.duracionCancion[Disco3.indiceCancion];
                    System.out.println("***************************************************");
                    }
                }
                else
                    System.out.println("No se encuentra el disco.");
                System.out.println("***************************************************");                         
            break;
            case 'C':
            case 'c':
                System.out.println("***************************************************");
                System.out.println("¿A cual disco quieres elegir para ser su informacion?: ");
                elige = in.nextInt();
                if(elige == 1){
                   System.out.println(Disco1.getNombreDisco());
                   System.out.println(Disco1.getAutor());
                   System.out.println(Disco1.getFormato());
                   System.out.println("Duracion del disco 1: " + Disco1.duracion);
                   System.out.println("Canciones del disco ( canciones: " + Disco1.getIndiceCancion() + "): ");
                   for(int i = 0; i <= Disco1.getIndiceCancion(); i++){
                       System.out.println(Disco1.nombreCancion[i]);
                   }
                   System.out.println("***************************************************");
                }
                else if (elige == 2){
                   System.out.println(Disco2.getNombreDisco());
                   System.out.println(Disco2.getAutor());
                   System.out.println(Disco2.getFormato());
                   System.out.println("Duracion del disco 1: " + Disco2.duracion);
                   System.out.println("Canciones del disco ( canciones: " + Disco2.getIndiceCancion() + "): ");
                   for(int i = 0; i <= Disco2.getIndiceCancion(); i++){
                       System.out.println(Disco2.nombreCancion[i]);
                   }
                   System.out.println("***************************************************");
                }
                else if (elige == 3){
                   System.out.println(Disco3.getNombreDisco());
                   System.out.println(Disco3.getAutor());
                   System.out.println(Disco3.getFormato());
                   System.out.println("Duracion del disco 1: " + Disco3.duracion);
                   System.out.println("Canciones del disco ( canciones: " + Disco3.getIndiceCancion() + "): ");
                   for(int i = 0; i <= Disco3.getIndiceCancion(); i++){
                       System.out.println(Disco3.nombreCancion[i]);
                   }
                   System.out.println("***************************************************");
                }
                else
                    System.out.println("No se encuentra el disco.");
                System.out.println("***************************************************");
            break;
            case 'D':
            case 'd':
                salir++;
            break;
            default:
                System.out.println("El caracter que has introducido no es valido.");
            break;
        }
    }while(salir < 1);
    System.out.println("Gracias por tu atencion. <( º c º )> ");
    }
   
    public void setNombreDisco(String ingresoNombreDisco){
        nombreDisco = ingresoNombreDisco;
    }
   
    public void setAutor(String ingresoAutor){
        autor = ingresoAutor;
    }
   
    public void setFormato(String ingresoFormato){
        formato = ingresoFormato;
    }
   
    public void setIndiceCancion(int ingresoIndiceCancion){
        indiceCancion = ingresoIndiceCancion;
    }
   
    public int getIndiceCancion(){
        return indiceCancion;
    }
   
    public String getNombreDisco(){
        return nombreDisco;
    }
   
    public String getAutor(){
        return autor;
    }
   
    public String getFormato(){
        return formato;
    }
}

Utilize metodos y funciones a la vez como se puede apreciar... tengo un pequeño inconveniente a la hora de imprimir mi arreglo... a continuación se muestra:



Aquí se puede apreciar la ejecución del menú principal del programa.




*Elegimos la primera opción, claramente porque no tenemos ningún dato en el disco. Si apretáramos de una vez la tecla C se nos imprimiría todos los datos vacíos (o nulos).

*Como acto siguiente nuestro programa nos preguntara cual disco vamos a ingresarle los datos... aquí como podemos apreciar, estamos eligiendo uno de los 3 objetos ya creados de la clase DiscoMusical. Si llegáramos a teclear un numero mayor a 3, nuestro programa respondería mandando el siguiente mensaje: "No se encuentra el disco.".

*Luego de ingresar los datos, el programa nos preguntara cuantas canciones nuestro disco tendrá. Esto sera el indice de los arreglos que declare mas arriba....





Aquí como se puede ver, elegimos la opción B que es agregar una canción mas al disco. Aquí lo que se necesitaba hacer era sumarle 1 a nuestra variable indiceCancion del objeto para poder agregarle un dato mas. Cada vez que aprieto B se le sumara, hasta el limite que es 20.




Aqui solo se ve cuando le estamos añadiendo datos al objeto 2.


Bueno, aquí va el pequeño inconveniente y las preguntas:



*Mi duración... tiene un montón de números a la derecha! En visual basic, para no imprimir esos numerotes, uso la funcion format.. en powerbuilder también (que por cierto es super similar al visual basic):

Visual Basic: textbox1.text = Format(total,"#.00")
PowerBuilder: st_num.text = String(total, "#.00")

Mi pregunta seria, ¿que escribo para que java me redondee a dos decimales?

*El programa me cuenta bien las canciones que he agregado, me imprime todos los nombres... pero, ¿Porque me sale ese null?, la verdad busque y busque cual pudo ser ese error... pero no pude ver que hice mal... si igualo la variable i del for a 1 me imprimira 2 canciones en vez de las 3... :S

Agradecería mucho su ayuda! Muchas gracias por cierto, yo no sabia como manejar perfectamente las clases, constructores y demás!! Gracias a ustedes mi duda se ha esclarecido !!  ;D

269
Hola a todos!! me presento otra vez, haciendo la entrega del siguiente ejercicio del cap 24, el enunciado es así:

Considera estás desarrollando un programa Java donde necesitas trabajar con objetos de tipo DiscoMusical. Define una clase DiscoMusical análoga a la que hemos visto para taxis, pero en este caso considerando los siguientes atributos de clase: titulo (String), autor (String), añoEdicion (int), formato (String), digital (boolean). Define un constructor y los métodos para poder establecer y obtener los valores de los atributos. Compila el código para comprobar que no presenta errores. Crea un objeto y comprueba sus métodos como hemos hecho con los objetos Taxi.

Vamos al código!!, este fue la primera fase:

Código: [Seleccionar]
package DiscMan;

public class DiscoMusical {
    private String titulo,autor, formato;
    private int añoEdicion;
    private boolean digital;
   
       
    public DiscoMusical(){
        titulo = "";
        autor = "";
        formato = "";
        añoEdicion = 0;
        digital = false;
    }
   
    public void setTitulo (String ingresoTitulo){
        titulo = ingresoTitulo;
    }
   
    public void setAutor (String ingresoAutor){
        autor = ingresoAutor;
    }
   
    public void setFormato (String ingresoFormato){
        formato = ingresoFormato;
    }
   
    public void setAñoEdicion (int ingresoAñoEdicion){
        añoEdicion = ingresoAñoEdicion;
    }
   
    public void setDigital (boolean ingresoDigital){
        digital = ingresoDigital;
    }
   
    public String getTitulo(){
        return titulo;
    }
   
    public String getAutor(){
        return autor;
    }
   
    public String getFormato(){
        return formato;
    }
   
    public int getAñoEdicion(){
        return añoEdicion;
    }
   
    public boolean getDigital(){
        return digital;
    }   
}

La segunda parte era comprobar el método... le hice la prueba a cada uno ( set y get) Pude notar que en blueJ la cosa se facilita mucho, por desgracia estoy rebelde y seguí con el netbeans, jajajaja xD

Lo que tuve que hacer de ademas fue insertarle un metodo main a la clase (ya que el netbeans no me deja correrlo sin un main...) para poder crear el objeto "disco1"y poder añadir los datos e imprimir con el System.out:

Código: [Seleccionar]
package DiscMan;

public class DiscoMusical {
    private String titulo,autor, formato;
    private int añoEdicion;
    private boolean digital;
   
    public static void main (String [] args){
    DiscoMusical Disco1;
    Disco1 = new DiscoMusical();
    Disco1.setTitulo("Duck Sauce");
    Disco1.setAutor("NRG (Skrillex, Kill The Noise, Milo & Otis Remix)");
    Disco1.setAñoEdicion(2015);
    Disco1.setFormato("MP3");
    Disco1.setDigital(true);
    System.out.println("Titulo del disco: " + Disco1.getTitulo());
    System.out.println("Autor: " + Disco1.getAutor());
    System.out.println("Año de edicion: " + Disco1.getAñoEdicion());
    System.out.println("Formato: " + Disco1.getFormato());
    System.out.println("Digital? : " + Disco1.getDigital());
}
       
    public DiscoMusical(){
        titulo = "";
        autor = "";
        formato = "";
        añoEdicion = 0;
        digital = false;
    }
   
    public void setTitulo (String ingresoTitulo){
        titulo = ingresoTitulo;
    }
   
    public void setAutor (String ingresoAutor){
        autor = ingresoAutor;
    }
   
    public void setFormato (String ingresoFormato){
        formato = ingresoFormato;
    }
   
    public void setAñoEdicion (int ingresoAñoEdicion){
        añoEdicion = ingresoAñoEdicion;
    }
   
    public void setDigital (boolean ingresoDigital){
        digital = ingresoDigital;
    }
   
    public String getTitulo(){
        return titulo;
    }
   
    public String getAutor(){
        return autor;
    }
   
    public String getFormato(){
        return formato;
    }
   
    public int getAñoEdicion(){
        return añoEdicion;
    }
   
    public boolean getDigital(){
        return digital;
    }   
}

Y este es el resultado:



Como siempre, algún consejo, tip, si me he equivocado en algo o ampliarme la idea se los agradecería muchísimo :)

270
y que tal ahora? Volví a escribir todo desde 0 xD

Código: [Seleccionar]

package Person;

public class Persona {
    String nombre, apellido, numeroDocumentoIdentidad;
    int edad;
    boolean casado;
   
    public Persona(){
        nombre = "";
        apellido = "";
        numeroDocumentoIdentidad = "";
        edad = 0;
        casado = false;
    }
   
    public void setNombre(String ingresoNombre){
        nombre = ingresoNombre;
    }
   
    public void setApellido(String ingresoApellido){
        apellido = ingresoApellido;
    }
   
    public void setNumeroDocumentoIdentidad (String ingresoNumeroDocumentoIdentidad){
        numeroDocumentoIdentidad = ingresoNumeroDocumentoIdentidad;
    }
   
    public void setEdad (int ingresoEdad){
        edad = ingresoEdad;
    }
   
    public void setCasado (boolean ingresoCasado){
        casado = ingresoCasado;
    }
   
    public String getNombre(){
        return nombre;
    }
   
    public String getApellido(){
        return apellido;
    }
   
    public String getNumeroDocumentoIdentidad(){
        return numeroDocumentoIdentidad;
    }
   
    public int getEdad(){
        return edad;
    }
   
    public boolean getCasado(){
        return casado;
    }
}

271
Hola a todos los presentes, soy yo de nuevo!! Mi clase estará bien??... el encabezado es así:

"Considera estás desarrollando un programa Java donde necesitas trabajar con objetos de tipo Persona. Define una clase Persona análoga a la que hemos visto para taxis, pero en este caso considerando los siguientes atributos de clase: nombre (String), apellidos (String), edad (int), casado (boolean), numeroDocumentoIdentidad (String). Define un constructor y los métodos para poder establecer y obtener los valores de los atributos."

Mi código:


Código: [Seleccionar]
package Person;
public class persona {
    private String nombre, apellido, NumeroDocumentoIdentidad;
    private int edad;
    private boolean casado;
   
    public persona(){
        nombre = "";
        apellido = "";
        NumeroDocumentoIdentidad = "";
        edad = 0;
        casado = false;
    }
   
    public void setNombre (String IngresoNombre){
     nombre = IngresoNombre;   
    }
   
    public void setApellido (String IngresoApellido){
        apellido = IngresoApellido;
    }
   
    public void setNumeroDocumentoIdentidad (String IngresoIdentidad){
        NumeroDocumentoIdentidad = IngresoIdentidad;
    }
   
    public void setEdad (int IngresoEdad){
        edad = IngresoEdad;
    }
   
    public void setEstadoCivil (boolean IngresoCasado){
        casado = IngresoCasado;
    }
   
    public String getNombre () {
        return nombre;
    }
   
   public String getApellido() {
       return apellido;
   }
   
   public String getIdentidad () {
       return NumeroDocumentoIdentidad;
   }
   
   public int getEdad(){
       return edad;
   }
   
   public boolean getEstadoCivil(){
       return casado;
   }
}

Si tengo algo erróneo o me quieran ampliar el concepto!! agradecería mil veces su respuesta.

Muchas gracias por su cooperación!!!

272
Milloness de graciassss por la respuesta!!!! ahora si se me ha esclarecido la duda!!!! Gracias!!!  ;D ;D :)

273
Hola, saludos a todos.

Vengo aquí a consultar, estoy leyendo el curso sobre programación en java (iniciando apenas) y vine a consultar si mi esquema sobre los objetos y clases (Punto numero 20 del curso) esta en lo correcto. La verdad en la U siempre nos dicen sobre estas cosas, pero no tuve clara la idea (o no estaba seguro si la mía estaba en la correcta) sobre que exactamente era clase y objeto. Bien, la practica se nos mando a hacer un esquema en el que distingamos una clase y un objeto con aviones. Díganme si estoy equivocado o no, y si lo estoy, una explicación no estaría mal por favor.  :(



Los atributos de un avión, serian:

* Los aviones principalmente están hechos de aluminio
* Vuelan
* Transportan personas (sea de guerra, carga, pasajero aunque sea 1 persona se mueve)


Quien me podría corregir, ampliar el concepto o alguna otra cosa útil??

Páginas: 1 ... 9 10 11 12 13 [14]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".