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

Problema - Java programación orientada a objetos

Estas en el tema de Problema - Java programación orientada a objetos en el foro de Java en Foros del Web. Cita: En una discotienda se tiene previsto manejar un inventario de todos los CDs que hacen parte de las diferentes colecciones. La discotienda tiene un ...
  #1 (permalink)  
Antiguo 06/02/2013, 06:58
 
Fecha de Ingreso: septiembre-2008
Mensajes: 221
Antigüedad: 16 años, 2 meses
Puntos: 1
Problema - Java programación orientada a objetos

Cita:
En una discotienda se tiene previsto manejar un inventario de todos los CDs que hacen parte de las diferentes colecciones. La discotienda tiene un nombre, una dirección, teléfonos y empleados. Cada CD tiene un título, el nombre de las canciones, y la cantidad de minutos que dura cada canción. Hacer un programa en Java que permita las siguientes opciones:

1. Leer los datos de la discotienda y de sus diferentes CDs hasta que el titulo del CD sea 'xxxx' ó 'XXXX'
2. Imprimir la información de la discotienda y los CDs con el total de minutos de cada CD.
3. Buscar un CD por el nombre o parte del nombre de uno de los artistas.
4. Buscar un CD por el nombre o parte del nombre de una de sus canciones.
Ese es el ejercicio que tengo que resolver. Me gustaría que me ayudaran.

Tengo varias ideas y un avance. Sólo que es mínimo.

Código Javascript:
Ver original
  1. package Experimento;
  2.  
  3.     import java.io.*;
  4.  
  5.     public class Experimento {
  6.  
  7.  
  8.       public static void main(String[]args)throws IOException {
  9.         BufferedReader lectura = new BufferedReader(new InputStreamReader(System.in));
  10.         int opcion = 1;  //*¿Cómo le hago para que me permita ingresar varias opciones de números?*//
  11.        
  12.  
  13.         System.out.println("Selecciones una opción: ");
  14.         System.out.println("1) Agregar album ");
  15.         System.out.println("2) Buscar cancion ");
  16.            
  17.         opcion = lectura.readLine(); //¿Porqué me vota error diciendo que "Hay que cambiar de tipo String a int"?
  18.        
  19.         do{
  20.             switch (opcion)
  21.                     {
  22.                         case 1:
  23.                     }
  24.         }while(opcion!=0);
  25.        
  26.         }
  27.       CD cd=new CD();
  28.  
  29.            
  30.         }

Me gustaría resolver las dudas comentadas en las lineas anteriores y también otras más.

Código Preguntas:
Ver original
  1. 1. ¿El comando de impresión de datos "  System.out.println("Selecciones una opción: ");  " sólo puede ejecutarse en el menú del proyecto?
  2. 2. ¿El comando de lectura del teclado  " BufferedReader lectura = new BufferedReader(new InputStreamReader(System.in)); " sólo puede ejecutarse desde el menú del proyecto?
  3. 3. ¿Sólo se pueden leer datos del teclado desde el menú y no desde otras clases?
  4. 4. ¿Cómo configuarar el lector del teclado para que me permita registrar números?
  5. 5. ¿Cómo poner los datos que se leen desde el teclado en un vector específico?

Gracias por su ayuda de antemano.
  #2 (permalink)  
Antiguo 06/02/2013, 07:54
 
Fecha de Ingreso: febrero-2012
Mensajes: 136
Antigüedad: 12 años, 9 meses
Puntos: 8
Respuesta: Problema - Java programación orientada a objetos

Bueno yo te aconsejaria primeramente que leas y te informes un poco como funciona java

En internet hay bastante material


Respondiendo a tus preguntas bueno .. tu puede imprimir o capturar numeros no solo en main puedes crear una clase que te imprima otra clase que te capture numeros y ya tu en voidmain los llamaras correctamente


Bueno espero te apoye
  #3 (permalink)  
Antiguo 06/02/2013, 11:21
Avatar de jomaruro
Colaborador
 
Fecha de Ingreso: junio-2002
Ubicación: Naboo
Mensajes: 5.442
Antigüedad: 22 años, 4 meses
Puntos: 361
Respuesta: Problema - Java programación orientada a objetos

Cita:
Iniciado por ambigus Ver Mensaje

Código Java:
Ver original
  1. opcion = lectura.readLine(); //¿Porqué me vota error diciendo que "Hay que cambiar de tipo String a int"?
  2.        
  3.         do{
  4.             switch (opcion)
  5.                     {
  6.                         case 1:
  7.                     }
  8.         }while(opcion!=0);
  9.        
  10.         }
Porque la instrucción SWITCH necesita que el valor sea un int o un char.

Saludos.

  #4 (permalink)  
Antiguo 06/02/2013, 16:28
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 8 meses
Puntos: 1329
Respuesta: Problema - Java programación orientada a objetos

Cita:
Iniciado por jomaruro Ver Mensaje
Porque la instrucción SWITCH necesita que el valor sea un int o un char.

Saludos.

Además de que tu variable opción está declarada como tipo int.

Saludos
__________________
Grupo Telegram Docker en Español
  #5 (permalink)  
Antiguo 08/02/2013, 05:04
Avatar de jomaruro
Colaborador
 
Fecha de Ingreso: junio-2002
Ubicación: Naboo
Mensajes: 5.442
Antigüedad: 22 años, 4 meses
Puntos: 361
Respuesta: Problema - Java programación orientada a objetos

Hola:

Cita:
Iniciado por Carlangueitor Ver Mensaje
Además de que tu variable opción está declarada como tipo int.

Saludos
Cierto, en eso no me había fijado.

Saludos.

  #6 (permalink)  
Antiguo 08/02/2013, 07:47
 
Fecha de Ingreso: septiembre-2008
Mensajes: 221
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Problema - Java programación orientada a objetos

Saludos una vez más compañero.

Con mucho agradecimiento por su paciencia y comprensión solicito una vez más de ayuda.

1. ¿Cómo hago para que el operador de do deje de trabajar cuando lo que tengo en el lector del teclado sea XXXX ?
Yo pienso que una solución podria ser una transformación de lo que se digite a enteros y que la multiplicación de esos enteros se compare con el valor de X en ASCII osea 120*120*120*120 en el caso de mínusculas y en el de mayusculas 88*88*88*88.

¿Qué piensa de esa solución compañero?.
De ser posible y óptima, ¿Cómo puedo convertir lo que tengo en el Buffered?, es decir:

BufferedReader lector=new BufferedReader(new InputStreamReader(System.in));
z = lector.readLine();

Entonces, ¿Cómo le hago para convertir eso que introdusca a un código ASCII individual de letras?, ¿No quedaría muy pesado el programa?.

La verdad intenté solucionarlo también inicializando una variable tipo String h en XXXX y otra String f en xxxx y luego preguntar si lo que tengo en Buffered es igual a eso con un if y luego si es así entonces que haga opcion2 = 2 con la finalidad de finalizar la operación lógica do

Me gustaría compartir con usted el código que tengo hasta el momento.

Menú = Experimento2
http://ideone.com/5oCGmp

Clases

1. Discotienda http://ideone.com/A1mOp9
2. CD http://ideone.com/GG8mSB

Gracias de antemano por la ayuda.

Etiquetas: clase, objetos, orientada, 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 08:20.