- Obtener vínculo
- X
- Correo electrónico
- Otras apps
Ejemplo de pseudoanidamiento de clases en Java
Pseudoanidamiento de clases en Java
Clases anidadas en Java
Ejemplo de clases anidadas en Java
Les comparto un ejemplo de clases anidadas en Java
El pseudoanidamiento se lleva a cabo con clase Libro y Librería
Descargar
Cualquier duda1 dejen su comentario.
Pseudoanidamiento de clases en Java
Clases anidadas en Java
Ejemplo de clases anidadas en Java
Les comparto un ejemplo de clases anidadas en Java
El pseudoanidamiento se lleva a cabo con clase Libro y Librería
package pseudo;
import java.io.IOException;
import java.util.Scanner;
import java.util.Vector;
//CLASE INDEPENDIENTE
class Libro {
public String titulo;
private String autor;
private String editorial;
private String genero;
public int precio;
//Constructor
public Libro(String t, String a, String edi, String gen, int prec) {
titulo = t;
autor = a;
editorial = edi;
genero = gen;
precio = prec;
}
public void exhibeinfolbr() {
System.out.println("\nInformación del libro: ");
System.out.printf("\nTitulo : %s \t Autor : %s \t Editorial : %s \t Genero : %s Precio :%d", titulo, autor, editorial, genero, precio);
}
public String getTitulo() {
return titulo;
}
}
class Libreria {
public String NombLib;
public int secciones;
private String telefono;
public String tipopago;
//Seudoanidamiento
public Libro datoslib = null; //Referenciando a objetos de otra clase
public Vector<Libro> libros = new Vector<Libro>();
public Libreria(String nl, int sec, String telef, String p, String t, String a, String edi, String gen, int prec) {
NombLib = nl;
secciones = sec;
telefono = telef;
tipopago = p;
datoslib = new Libro(t, a, edi, gen, prec);//Creando objeto anidado
libros.add(datoslib);
}
public void Exhibeinfolibreria() {
System.out.println("\nDatos del la libreria...");
System.out.printf("\n Nombre de Libreria : %s \t Secciones : %d \t Telefono : %s Tipo de pago : %s \n", NombLib, secciones, telefono, tipopago);
System.out.println("Total de libros:" + libros.size() + "\n");
}
public String getNombreLib() {
return NombLib;
}
public void agregarLibro(String t, String a, String edi, String gen, int prec) {
datoslib = new Libro(t, a, edi, gen, prec);//Creando objeto anidado
libros.add(datoslib);//se agrega el nuevo libro al arreglo
}
public void mostrarTitulosLibros() {
System.out.println("\nLibros disponibles");
for (int i = 0; i < libros.size(); i++) {
System.out.println(i + ")" + libros.get(i).getTitulo());//mandamos a llamar get titulo de cada libro
}
System.out.println("");
}
public void buscaLibro(String titulo) {
for (int i = 0; i < libros.size(); i++) {//recorremos el arreglo en busca del libro
if (titulo.equals(libros.get(i).getTitulo())) {//si el titulo es igual al que se busca
libros.get(i).exhibeinfolbr();//se muestra informacion del libro
} else {
System.out.println("No se encontro el libro\n");
}
}
}
public void eliminaLibro(int libroEliminar) {
libros.remove(libroEliminar);//quitamos el libro del arreglo en el indice indicado
}
}
/**
*
* @author Higinio
*/
//CLASE PRINCIPAL
public class SeudoLibreria {
Scanner teclado = new Scanner(System.in);
public static void main(String[] args) throws IOException {
Scanner cadenas = new Scanner(System.in);//para leer cadenas
Scanner enteros = new Scanner(System.in);//para leer enteros
Vector<Libreria> librerias = new Vector();//se crea arreglo de librerias
Libreria libreria = null;//se inicializa en null
//variables para la libreria y el libro
String nl;
int sec;
String telef;
String tpaago, t, a, edi, gen;
int prec;
//variable para control de nuevo libro y buscar libro
int oplibro = 0;
//variable para buscar el libro
String buscarT = "";
//variable para control de menu
int opcion = 0;
do {
System.out.println("%%%%%%%%%% MENU %%%%%%%%%"
+ "\n1) Agregar libreria"
+ "\n2) Agregar libro"
+ "\n3) Buscar Libro"
+ "\n4) Eliminar libro"
+ "\n5) Mostrar todos los titulos de libros"
+ "\n6) Mostrar información de todas librerias"
+ "\n7) SALIR\n>");
opcion = enteros.nextInt();
switch (opcion) {
case 1://en caso de agregar libreria
System.out.println("Para agregar una Librería debe agregar al menos un libro");
System.out.print("Datos para la nueva LIBRERIA:\nNombre:");
nl = cadenas.nextLine();
System.out.print("Numero de secciones:");
sec = enteros.nextInt();
System.out.print("Telefono:");
telef = cadenas.nextLine();
System.out.print("Tipo de pago disponible:");//tarjeta, en efectivo, etc
tpaago = cadenas.nextLine();
System.out.print("Datos para el nuevo LIBRO:\nTitulo:");
t = cadenas.nextLine();
System.out.print("Autor:");
a = cadenas.nextLine();
System.out.print("Editorial:");
edi = cadenas.nextLine();
System.out.print("Genero:");
gen = cadenas.nextLine();
System.out.print("Precio:");
prec = enteros.nextInt();
libreria = new Libreria(nl, sec, telef, tpaago, t, a, edi, gen, prec);//se crea nueva libreria
librerias.add(libreria);//se agrega la nueva libreria al arreglo
System.out.println("Se agrego la nueva libreria y el nuevo libro!");
break;
case 2://en caso de agregar libro
if (!librerias.isEmpty()) {//si el arreglo tiene al menos una libreria
System.out.println("Librerias disponibles\n"
+ "Seleccione la libreria en donde quiera agregar el nuevo libro>");
for (int i = 0; i < librerias.size(); i++) {
System.out.println(i + ") Libreria " + librerias.get(i).getNombreLib());
}
System.out.print(">");
oplibro = enteros.nextInt();
System.out.print("Datos para el nuevo LIBRO:\nTitulo:");
t = cadenas.nextLine();
System.out.print("Autor:");
a = cadenas.nextLine();
System.out.print("Editorial:");
edi = cadenas.nextLine();
System.out.print("Genero:");
gen = cadenas.nextLine();
System.out.print("Precio:");
prec = enteros.nextInt();
librerias.get(oplibro).agregarLibro(t, a, edi, gen, prec);//se agrega el libro en la libreria indicada
System.out.println("Se agrego el nuevo libro!");
} else {
System.out.println("Primero agregue una libreria! y un libro!");
}
break;
case 3://En caso de buscar libro
if (!librerias.isEmpty()) {//si al menos hay una libreria en donde buscar
System.out.println("Librerias disponibles\n"
+ "Seleccione la libreria en donde quiera buscar el libro\n"
+ "El libro se buscará por titulo");
for (int i = 0; i < librerias.size(); i++) {
System.out.println(i + ") Libreria " + librerias.get(i).getNombreLib());
}
System.out.print(">");
oplibro = enteros.nextInt();
System.out.print("Ingrese el titulo a buscar>");
buscarT = cadenas.nextLine();
librerias.get(oplibro).buscaLibro(buscarT);//se manda a buscar en el arreglo de librerias indicado por el usuario y se pasa la cadena
} else {
System.out.println("Primero agregue una libreria! y un libro!");
}
break;
case 4://en caso de eliminar libro
if (!librerias.isEmpty()) {//si al menos hay una libreria en donde buscar para eliminar
System.out.println("Librerias disponibles\n"
+ "Seleccione la libreria en donde quiera eliminar el libro\n"
+ "El libro se eliminara por indice");
for (int i = 0; i < librerias.size(); i++) {
System.out.println(i + ") Libreria " + librerias.get(i).getNombreLib());
}
System.out.print(">");
oplibro = enteros.nextInt();
librerias.get(oplibro).mostrarTitulosLibros();//mostramos los titulos de los libros
System.out.print("Ingrese el indice del libro:");
int op = enteros.nextInt();
librerias.get(oplibro).eliminaLibro(op);//se elimina el libro que indico el usuario
} else {
System.out.println("Primero agregue una libreria! y un libro!\n");
}
break;
case 5://en caso de mostrar todos los libros
if (!librerias.isEmpty()) {//si al menos hay una libreria en donde buscar para mostrar
for (int i = 0; i < librerias.size(); i++) {
librerias.get(i).mostrarTitulosLibros();
}
} else {
System.out.println("Primero agregue una libreria! y un libro!\n");
}
break;
case 6://en caso de mostrar todas las librerias
if (!librerias.isEmpty()) {//si al menos hay una libreria
for (int i = 0; i < librerias.size(); i++) {
librerias.get(i).Exhibeinfolibreria();
}
} else {
System.out.println("Primero agregue una libreria! y un libro!\n");
}
break;
default://opcion por default
System.out.println("Seleccione una opción valida!!!\n");
break;
}
} while (opcion != 7);//mientras la opcion no sea 7, si es 7 entonces salimos
}
}
El link de descarga del proyectoDescargar
Cualquier duda1 dejen su comentario.
anidamiento de clases en java
clases anidadas java
ejemplo de pseudoanidamiento de clases en java
pseudoanidamiento
pseudoanidamiento de clases en java
- Obtener vínculo
- X
- Correo electrónico
- Otras apps
Comentarios
Publicar un comentario