elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Ayuda con un codigo de java?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con un codigo de java?  (Leído 2,187 veces)
omar199609

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Ayuda con un codigo de java?
« en: 6 Junio 2015, 22:29 pm »

Miren es para una tarea y no se mucho de java.

Quiero hacer que el programa pida la cantidad de cd que se quieren almacenar, tengo el siguiente codigo.

Tengo la siguiente clase:
Código
  1. package actividad6;
  2.  
  3. /**
  4.  *
  5.  * @author Omar
  6.  */
  7. public class CD {
  8.  private String nombre;
  9.  private String cantante;
  10.  private String genero;
  11.  private double costo;
  12.  
  13.  public CD (){
  14.      String n;
  15.      String c;
  16.      String g;
  17.      double p;
  18.  
  19.  
  20.  }
  21.  public CD (String n, String c, String g, double p){
  22.      nombre = n;
  23.      cantante = c;
  24.      genero = g;
  25.      costo = p;    
  26.  }
  27.  public void setNombre (String n){
  28.      nombre = n;
  29.  
  30.  }
  31.  public void setCantante(String c){
  32.          cantante = c;
  33.  }
  34.  public void setGenero(String g){
  35. genero = g;
  36.  }
  37.  public void setCosto(double p){
  38.  costo = p;
  39.  }
  40.  public String getNombre(){
  41.      return nombre;
  42.  }
  43.   public String getCantante(){
  44.      return cantante;
  45.  }
  46.    public String getGenero(){
  47.      return genero;
  48.  }
  49.     public double getCosto(){
  50.      return costo;
  51.  }
  52.     public void despliega(){
  53.    System.out.println ("Nombre de la Cancio: " +getNombre());
  54.    System.out.println("Nombre del Autor: " +cantante);
  55.    System.out.println("Tipo de Genero: " +genero);
  56.    System.out.println("Tiene un costo de: " +costo);
  57. }
  58. }[/spoiler]
  59.  
  60. Este es mi main:
  61. [spoiler]package actividad6;
  62.  
  63. import java.io.*;
  64. public class Actividad6 {
  65.  
  66.  
  67.   public static BufferedReader entrada
  68.            = new BufferedReader(new InputStreamReader(System.in));
  69.     public static void main(String[] args)throws IOException {
  70.  
  71.       System.out.println("Escribe el nombre de la cancion:");
  72.       String n = entrada.readLine();
  73.       System.out.println("Escribe el autor de la cancion:");
  74.       String a = entrada.readLine();
  75.       System.out.println("Escribe el tipo de genero:");
  76.       String g = entrada.readLine();
  77.       System.out.println("Escribe el precio:");
  78.       double p = Double.parseDouble(entrada.readLine());
  79.       CD cd = new CD(n,a,g,p);
  80.      cd.despliega();
  81.  
  82.    }
  83.  
  84. }

Alguien me puede ayudar? por ejemplo cuantos cd quieres agregar 10, entonces saldran 10 veces los datos y alfinal mostrar resultados

Mod: lo primero de saber sobre java, es que el lenguaje de programación es java, no c++, el titulo debe ser descriptivo al problema, los códigos deben ir en etiquetas GeSHi,. Tema movido y corregido


« Última modificación: 6 Junio 2015, 22:41 pm por engel lex » En línea

edr89

Desconectado Desconectado

Mensajes: 105


Ver Perfil
Re: Ayuda con un codigo de java?
« Respuesta #1 en: 6 Junio 2015, 22:47 pm »

No entiendo muy bien pero no basta con un ciclo for?, le preguntas al usuario cuantos CD quiere y ese dato sera la condicion del ciclo, al final tambien lo imprimes con for.  o no? :huh:

Estoy practicando con algo que me parece similar, por qué no creas un arreglo de objetos CD y entonces vas solicitando los datos que necesites:

Código
  1. CD[i].setNombre(scanStr.nextLine());

al final lo imprimes con un ciclo o con toString(), no se son ideas...

saludos.


« Última modificación: 6 Junio 2015, 22:52 pm por edr89 » En línea

Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: Ayuda con un codigo de java?
« Respuesta #2 en: 7 Junio 2015, 17:08 pm »

Código
  1. public class Disk {
  2.    private String name;
  3.    private String author;
  4.    private Date pubDate;
  5.    private String genre;
  6.    private float price;
  7.    private List<Song> songs;
  8.  
  9.    public Disk() {}
  10.    public Disk(String name, String author, Date pubDate, String genre,
  11. float price, List<Song> songs) {
  12. this.name = name;
  13. this.author = author;
  14. this.pubDate = pubDate;
  15. this.genre = genre;
  16. this.price = price;
  17. this.songs = songs;
  18.    }
  19.  
  20.    // getters y setters
  21.  
  22.    @Override
  23.    public String toString() {
  24.        String data = "Nombre: " + name +
  25.    "\nAutor: " + author +
  26.    "\nF. Publicación: " + pubDate +
  27.    "\nGénero: " + genre +
  28.    "\nPrecio: " + price + "\n";
  29. String songsData = "Canciones: \n";
  30.        for(Song song : songs) {
  31.    songsData +=
  32. "Nombre: " + song.getName() +
  33. "Duración: " + song.getDuration() +
  34. "Artistas extras: " + song.getExtrasArt() +
  35. "Año: " + song.getYear();
  36. }
  37. data += songsData;
  38. return data;
  39.    }
  40. }

Código
  1. public class Song {
  2.    private String name;
  3.    private String duration;
  4.    private String year;
  5.    private String extrasArt = "Ninguno";
  6.  
  7.    public Song() {}
  8.    public Song(String name, String duration, String year,
  9. String extrasArt) {
  10. this.name = name;
  11. this.duration = duration;
  12. this.year = year;
  13. this.extrasArt = extrasArt;
  14.    }
  15.    // getters y setters
  16. }

Código
  1. public class DiskManager {
  2.    private final static Scanner READER;
  3.    static { READER = new Scanner(System.in); }
  4.  
  5.    public static Disk newDisk(List<Song> songs) {
  6. System.out.println("Escribe los datos del disco en el siguiente orden:\n");
  7. System.out.println("1. Nombre\n2.Autor\n3.F. publicación\n4.Género\n5.Precio");
  8.  
  9. String discName;
  10. String author;
  11. Date pubDate;
  12. String genre;
  13. float price;
  14.  
  15. discName = READER.nextLine();
  16. author = READER.nextLine();
  17. pubDate = new SimpleDateFormat("dd-MM-yyyy").parse(READER.next());
  18. genre = READER.nextLine();
  19. price = READER.nextFloat();
  20.  
  21. return new Disk(discName, author, pubDate, genre, price, songs);
  22.    }
  23.    public static List<Song> newSongs() {
  24. List<Song> songs = new ArrayList<>();
  25.  
  26. System.out.println("¿Cuántas canciones desea añadir?");
  27. Byte songsQuantity = READER.nextByte();
  28.  
  29. for(byte i=0; i<songsQuantity; i++) {
  30.    System.out.println("Ingrese los datos en el siguiente orden:\n");
  31.    System.out.println("1. Nombre\n2. Duración\n3. Año\n4. Artistas extras");
  32.  
  33.    String songName;
  34.    String duration;
  35.    String year;
  36.    String extrasArt;
  37.  
  38.    songName = READER.nextLine();
  39.    duration = READER.next();
  40.    year = READER.next();
  41.    extrasArt = READER.nextLine();
  42.  
  43.    songs.add(new Song(songName, duration, year, extrasArt));
  44. }
  45. return songs;
  46. }
   
Código
  1. public static void main(String[] args) {
  2.    List<Disk> disks = new ArrayList<>();
  3.  
  4.    /* Registrar discos */
  5.    System.out.println("¿Cuántos discos desea registrar?");
  6.    byte discQuantity = reader.nextByte();
  7.  
  8.    /* Registra info del disco */
  9.    for(byte i=0; i<discQuantity; i++) {
  10. List<Song> songs = DiskManager.newSongs();
  11.        Disk disk = DiskManager.newDisk(songs);
  12. disks.add(disk);
  13.    }
  14.  
  15.    /* Mostrar información del CD */
  16.    for(Disk disk : disks) {
  17. System.out.println("[+] Información del disco:\n\n");
  18. System.out.println(disk);
  19.    }
  20. }

El método toString() es heredado de Object, lo que quiere decir que todo objeto hereda el método toString(). Éste método es llamado automáticamente cuando se detecta que un objeto está queriendo ser imprimido por el flujo de salida estándar de la clase System, así, se llama automáticamente al método toString() devolviendo éste lo que se ha programado.

La anotación @Override, significa que estás sobreescribiendo ese método. Es decir, al método ya existente que ha heredado, le añade funcionalidad. Esto quiere decir, que está sobreescrito, personalizado.

Puedes simular una BBDD también haciendo uso de NavigableMap. No lo hice para que no te confundas. Cualquier duda, la expones.


Saludos.

PD: Es muy probable que el código tenga errores porque lo he hecho rápido en un editor sencillo.
En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con codigo de java
Java
pakosamuel 5 3,904 Último mensaje 5 Junio 2010, 21:35 pm
por Leyer
Ayuda con código Java!
Java
compunova 2 2,772 Último mensaje 18 Octubre 2011, 23:43 pm
por klaine
Ayuda con código Java
Java
alvarodecadiz9 1 1,917 Último mensaje 10 Septiembre 2016, 12:48 pm
por alvarodecadiz9
ayuda para realizar un codigo en java
Java
yibran_moon 1 1,925 Último mensaje 27 Enero 2017, 10:35 am
por Orubatosu
Ayuda con codigo Java « 1 2 »
Java
paablitto10 12 4,767 Último mensaje 28 Abril 2019, 05:15 am
por WHK
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines