Está en la página 1de 20

UNIVERSIDAD NACIONAL DE INGENIERÍA

FACULTAD DE INGENIERÍA ELECTRICA Y


ELECTRONICA

MA713N
PROGRAMACION DIGITAL

ALUMNO: DIEGO EDUARDO SAMANEZ TUCTO

CODIGO: 20171162J

PROFESOR: TRINI CASTILLO BELSUZARRI


PROBLEMA
Dar mantenimiento a un arreglo de objetos de la clase Clista

Arreglos
CODIGO CLASE APLICACION
package Arreglos;

import java.util.Scanner;

public class Aplicacion {

static Cleer leer = new Cleer();

public static void main(String [] args ){

CLista objeto = new CLista();// el objeto tiene una lista

CLibro ob = new CLibro(),om = new CLibro(); // creamos objetos ob y om

System.out.println("Digite el titulo y el id respectivamente para el objeto ob");

ob.Titulo= leer.leeString(); ob.Id = leer.leeString();

System.out.println("Digite el titulo y el id respectivamente para el objeto om");

om.Titulo= leer.leeString(); om.Id = leer.leeString();

objeto.agregar(ob);

objeto.agregar(om);

System.out.println("La lista actual tiene longitud : "+ objeto.longitud());

System.out.println("DIga la cantidad de Clibros que va a añadir : ");

int n=leer.leeint();

CLibro[] ObClibro = new CLibro[n]; // arreglo de objetos


for(int i=0;i<ObClibro.length;i++){ // no te olvides de incializar cada uno de los objetos del
arreglo

ObClibro[i]= new CLibro();

for(int i=0;i<ObClibro.length;i++){

System.out.println("Digite el titulo y el id respectivamente para el objeto en la pos " + i + " :


" );

ObClibro[i].Titulo = leer.leeString() ;

ObClibro[i].Id = leer.leeString() ;

for(int i=0;i<ObClibro.length;i++){

objeto.agregar(ObClibro[i]);

System.out.println("La lista actual tiene logitud : "+ objeto.longitud());

System.out.println("DIgite la posicion del objeto del que quiere ver su Titulo e Id");

int pos=leer.leeint();

CLibro valor = objeto.ValorEn(pos);

System.out.println("El titulo es : " + valor.Titulo);

System.out.println("El Id es : " + valor.Id);

System.out.println("La lista actual tiene longitud : "+ objeto.longitud());

System.out.println("Digite el ID que quiere eliminar :");

String s=leer.leeString();
boolean f=objeto.eliminar(s);

if(f==true )System.out.println("El id se ha eliminado correctamente");

if(f==false) System.out.println("No existe ese Id");

System.out.println("La lista actual tiene longitud : "+ objeto.longitud());

System.out.println("Digite el titulo que desea buscar :");

String titu = leer.leeString();

System.out.println("Digite la posicon desde la que quiere buscarlo : ");

int p=leer.leeint();

System.out.println("El objeto se encuentra en la posicion : "+objeto.buscar(titu,p) );

CODIGO CLASE CLISTA


package Arreglos;

public class CLista {

private CLibro[] lista ; // matriz de objetos

private int nElementos;

private void unElementomas(CLibro [] listaActual){

nElementos = listaActual.length;

lista = new CLibro[nElementos +1];

for(int i=0;i<nElementos ;i++){

lista[i]= listaActual[i];

nElementos ++;

}
private void unElementomenos(CLibro[] listaActual){

if (listaActual.length == 0)return;

int k=0;

nElementos = listaActual.length;

lista = new CLibro[nElementos-1];

for(int i=0;i<nElementos;i++){

if(listaActual[i]!= null){

lista[k++]=listaActual[i];

nElementos--;

public CLista(){

nElementos=0;

lista = new CLibro[nElementos];

// metodos public

public void ponerValorEn( int i,CLibro Objeto){

if(i>=0 && i< nElementos)

lista[i]= Objeto;

else

System.out.println("Indice fuera del intervalo");


}

public CLibro ValorEn(int i){

if(i>=0 && i< nElementos)

return lista[i];

else {

System.out.println("Indice fuera del intervalo ");

return null;

public int longitud(){

return nElementos;

public void agregar ( CLibro Objeto ){

unElementomas(lista);

ponerValorEn(nElementos -1 , Objeto);

public boolean eliminar(String Id){

for(int i=0;i<nElementos;i++){

if(lista[i].obtenerIdLibro().equals(Id)){

System.out.println("encontrado en " + i );

lista[i]= null;

unElementomenos(lista);

return true;

return false;

}
public int buscar(String str , int pos){

String titulo;

if(str == null) return -1;

if(pos<0) pos =0;

for ( int i=pos;i<nElementos;i++){

titulo = lista[i].obtenerTitulo();

if(titulo==null) continue;

if(titulo.indexOf(str)>-1)

return i;

return -1;

CODIGO CLASE CLIBRO


package Arreglos;

public class CLibro {

String Id;

String Titulo;

public String obtenerIdLibro(){

return Id;

public String obtenerTitulo(){

return Titulo;

}
CODIGO CLASE CLEER

package Arreglos;

import java.util.Scanner;

public class Cleer {

Scanner sca= new Scanner(System.in);

public String leeString(){

return sca.next();

public int leeint(){

return sca.nextInt();

RESULTADO
run:

Digite el titulo y el id respectivamente para el objeto ob

Marinero

1234

Digite el titulo y el id respectivamente para el objeto om

Cable

12

La lista actual tiene longitud : 2

DIga la cantidad de Clibros que va a añadir :

Digite el titulo y el id respectivamente para el objeto en la pos 0 :

Carmen

67

Digite el titulo y el id respectivamente para el objeto en la pos 1 :


Alex

56

Digite el titulo y el id respectivamente para el objeto en la pos 2 :

Sandra

89

La lista actual tiene logitud : 5

DIgite la posicion del objeto del que quiere ver su Titulo e Id

El titulo es : Alex

El Id es : 56

La lista actual tiene longitud : 5

Digite el ID que quiere eliminar :

1234

encontrado en 0

El id se ha eliminado correctamente

La lista actual tiene longitud : 4

Digite el titulo que desea buscar :

Carmen

Digite la posicon desde la que quiere buscarlo :

El objeto se encuentra en la posicion : 1

BUILD SUCCESSFUL (total time: 57 seconds)


PROBLEMA

Herencia
CODIGO APLICACION
package herencia;

public class Aplicacion {


public static void main(String[] args){

Circulo[] c = new Circulo[4];// declaramos y creamos arreglo de objetos


c[0] = new Circulo (4); // creamos los objetos del arreglo
c[1] = new Circulo();
c[2] = new Circulo (1,1,5);
c[3]= new Circulo(c[1]);

for(int i=0;i<c.length;i++){
System.out.println();
System.out.println("El radio del circulo " + (i+1) + " es : " + c[i].r );
System.out.printf("El perimetro del circulo %d es : %.2f %n :" ,i+1,c[i].perimetro());
System.out.printf("El area del circulo %d es : %.2f %n" , i+1,c[i].area());
System.out.println();
}
int pos=0;

for(int i=0;i<c.length;i++){

if(c[i] == c[i].elMayor(c[pos])){
pos = i;
}
}

System.out.println("El circulo de mayor radio es el circulo "+ (pos+1) );


System.out.println("radio : " + c[pos].r );
for(int i=0;i<c.length;i++){

if(c[i] == Circulo.elMayor(c[pos],c[i])){
pos = i;
}
}
System.out.println("El circulo de mayor radio es el circulo "+ (pos+1) );
System.out.println("radio : " + c[pos].r );

Rectangulo[] r = new Rectangulo[2];

r[0] = new Rectangulo();


r[1] = new Rectangulo(5,9,1,6);

for(int i=0;i<r.length;i++){
System.out.printf("El perimetro del rectangulo %d es : %.2f %n " ,i+1,r[i].perimetro());
System.out.printf("El area del rectangulo %d es : %.2f %n ", i+1, r[i].area());
}

}
}
CODIGO GEOMETRIA

package herencia;

public abstract class Geometria {


abstract public double perimetro();
abstract public double area();

}
CODIGO CIRCULO
package herencia;

public class Circulo extends Geometria {


static int numCirculos =0;
public static final double PI = 3.141592653;
public double x,y,r;
public Circulo(double x , double y ,double r){
this.x=x;this.y=y;this.r=r;
numCirculos++;
}
public Circulo(double r){
this(0.0,0.0,r);
}
public Circulo(Circulo c ){
this(c.x,c.y,c.r);
}
public Circulo(){
this(0.0,0.0,1.0);
}
public double perimetro(){
return 2.0*PI*r;
}
public double area(){
return PI*r*r;
}

// metodo de objetos comparar circulos


public Circulo elMayor(Circulo c){
if(this.r>= c.r){
return this;
}else return c;

// metodo de clases para comparar circulos


public static Circulo elMayor( Circulo c , Circulo d ){
if(c.r >= d.r) return c ; else return d;
}

}
CODIGO RECTANGULO
package herencia;

public class Rectangulo extends Geometria {


private static int numRectangulos = 0;
protected double x1,y1,x2,y2;

public Rectangulo ( double p1x, double p1y , double p2x , double p2y){
x1 = p1x;
x2 = p2x;
y1 = p1y;
y2 = p2y;
numRectangulos ++;
}

public Rectangulo(){this(2,3,1.0,1.0);}

public double perimetro() {


return 2.0*((x1-x2)+(y1-y2));
}

public double area() {


return (x1-x2)*(y1-y2);
}

RESULTADO :
run:

El radio del circulo 1 es : 4.0


El perimetro del circulo 1 es : 25.13
:El area del circulo 1 es : 50.27

El radio del circulo 2 es : 1.0


El perimetro del circulo 2 es : 6.28
:El area del circulo 2 es : 3.14

El radio del circulo 3 es : 5.0


El perimetro del circulo 3 es : 31.42
:El area del circulo 3 es : 78.54
El radio del circulo 4 es : 1.0
El perimetro del circulo 4 es : 6.28
:El area del circulo 4 es : 3.14

El circulo de mayor radio es el circulo 3


radio : 5.0
El circulo de mayor radio es el circulo 3
radio : 5.0
El perimetro del rectangulo 1 es : 6.00
El area del rectangulo 1 es : 2.00
El perimetro del rectangulo 2 es : 14.00
El area del rectangulo 2 es : 12.00

BUILD SUCCESSFUL (total time: 0 seconds)

También podría gustarte