Constructores

En esta sección se resolverán dudas relacionadas con el lenguaje de programación de Oracle Java

Moderator: julianmartinez16

Post Reply
User avatar
xacarana
Site Admin
Posts: 1019
Joined: Fri Jan 15, 2016 6:13 pm

Constructores

Post by xacarana » Tue Mar 07, 2017 9:23 am

Un constructor permite inicializar atributos de clase o ejecutar acciones en el momento de creación del objeto. Se utiliza por lo general para personalizar la copia del objeto creado, tenga presente las siguientes recomendaciones:
  • Todas las clases contienen un constructor por defecto, que se llama igual a la clase y no recibe parámetros
  • El constructor debe ser público, para poder ser invocado desde afuera de la clase
  • Se debe llamar igual al nombre de la clase
  • NO tiene tipo de retorno
  • NO hay limite de constructores, la única restricción es que no debe haber 2 constructores con la misma firma
No se deje confundir al tener dos firmas con el mismo tipo de variable, pero con diferente nombre de variable.

Code: Select all


	Estudiante(int id)
	{
	}

	Estudiante(int edad)
	{
	}

Tarea sobre constructores

Crear 1000 estudiantes y luego realice un método que busque el estudiante por el id (el id se asigna de manera automática, arranca en 1) Cuando encuentre el estudiante (si fue posible) muestre un menú al usuario con la opción de cambiar un atributo del objeto. Por último cree un menú que permita buscar e imprimir un objeto.

*El menú debe funcionar por consola, publique en esta publicación el código fuente.
Andrés Bedoya Tobón
Profesor
"I only smile in the dark, I only smile when it's complicated" Raybiez

User avatar
ccpc
Posts: 60
Joined: Fri Jan 22, 2016 8:08 am

Re: Constructores

Post by ccpc » Wed Mar 08, 2017 9:37 pm

Clase estudiante

Code: Select all

public class Estudiante
{
	private int id;
	private String nombre;
	private int documento;
	private String apellido;
	private String materia;
	private float nota;
	

	public Estudiante(int id)
	{
		this.id=id;
		
	} 

	public Estudiante(String nombre,int documento)
	{
		this.nombre=nombre;
		this.documento=documento;
	}


	public Estudiante(String apellido)
	{
		this.apellido=apellido;
	}

	public Estudiante(String materia,float nota)
	{
		this.nota=nota;
		this.materia=materia;
	}


	



}

clase sigga

Code: Select all

import javax.swing.*;
import java.util.Scanner;
public class Sigga
{
	public void buscarEstudiante(Estudiante[] estudiantes)
	{
		int buscador;
		String buscador1;
		int menu;
		int menu2;
		String modificador;
		Scanner reader = new Scanner(System.in); // para q la clase escaner leea contenido
		buscador1=JOptionPane.showInputDialog("ingrese el id del estudiante, recuerde que es un numero entre 1 y 1000");
		if (buscador1!=null && buscador1.matches("\\d+")) {
			buscador=Integer.parseInt(buscador1);
			for (int i=0;i<estudiantes.length;i++) 
			{
			if (buscador==(i-1)) {
				System.out.println("seleccione un opcion \n1.cambiar nombre \n2.salir");
				menu = reader.nextInt();	
					switch(menu)
					{
						case 1:
						System.out.println("ingrese el nombre");
						modificador=reader.nextLine();// leer cadenas
						estudiantes[i-1]= new Estudiante(modificador,521145224);				
						
						System.out.println("seleccione la opcion q desee \n1.buscar objeto \n2.imprimir objeto");
						menu2 = reader.nextInt();
						switch(menu){
							case 1:
							buscarEstudiante(estudiantes);
							break;
							case 2:
							 		System.out.println(estudiantes[i-1]);
							break;
						}
						break;
					
						case 2:
						System.out.println("ha slaido del programa");
						break;
	
						default:
						System.out.println("el numero no es valido ha salido del programa");
						break;
					}
			}
		}
			
		}
		else
		{
			System.out.println("datos invalidos");
		}
	}

	
}

clase programa1

Code: Select all

public class Programa1{
	public static void main (String arg[])
	{
		int j;
		Estudiante[] estudiantes;
		Sigga sigga;
		sigga = new Sigga();
		estudiantes= new Estudiante[1000];
		j=1;

		for (int i=0;i<estudiantes.length;i++) {
			estudiantes[i]= new Estudiante(j);
			j++;
			//estudiantes[i].Estudiante("Andres",11142218);
			//estudiantes[i].Estudiante("velez");
			//estudiantes[i].Estudiante("poo",4.7f);
			
			
		}
		sigga.buscarEstudiante(estudiantes);
 	
	}
	
}
Nombre: Cristian Camilo Palacio Cuartas.
Materia: Logica de programación.

User avatar
Valeriam04
Posts: 41
Joined: Tue Jan 17, 2017 8:55 am

Estudiante

Post by Valeriam04 » Thu Mar 09, 2017 9:29 am

Code: Select all

public class Estudiante
{
   private int id;
   private String nombre;
   private int documento;
   private String apellido;
   private String materia;
   private float nota;
   
   public Estudiante(int id)
   {
      this.id=id;
      
   }

   public Estudiante(String nombre,int documento)
   {
      this.nombre=nombre;
      this.documento=documento;
   }

   public Estudiante(String materia,float nota)
   {
      this.nota=nota;
      this.materia=materia;
   }

   public void setNombre(String nombre)
   {
	this.nombre = nombre;
   }

   public String getNombre()
   {
	return nombre;
   }

}

Code: Select all

import javax.swing.*;
import java.util.Scanner;
public class Sigga
{
   private Estudiante estudiantes[];

   public void setEstudiantes(Estudiante[] estudiantes) 
   {
	this.estudiantes = estudiantes;
   } 

   public void buscarEstudiante(int id)
   {
      if(id>=0 && id < estudiantes.length)
      {
         System.out.println(estudiantes[id].getNombre());
      }
      else
      {
        System.out.println("El id suminisstrado es incorrecto");
      }
   }

   
}

Code: Select all

public class Programa1
{
	public static String nombreAleatorio()
	{
		String[] nombres={"Juan","Maria","Pedro","Jose","Arnulfo","Eustaquio","Marcos","}Sebastian","Julian","Mateo"};
		//int i = (int)(Math.random()*(10));
		//aleatorio = nombre

		return nombres[(int)(Math.random()*(10))];		
	}	

	
	public static void main (String arg[])
	{

		Estudiante[] estudiantes;
		Sigga sigga;
		sigga = new Sigga();
	
		estudiantes= new Estudiante[1000];

		for (int i=0;i<estudiantes.length;i++) 
		{
		 estudiantes[i]= new Estudiante(i+1);
		 estudiantes[i].setNombre(nombreAleatorio());
		}
		sigga.setEstudiantes(estudiantes);
		sigga.buscarEstudiante(-3);
	
	}
	   
}

Valeria Moreno
Gestión de la calidad del Software

User avatar
jbrandlondoo
Posts: 20
Joined: Thu Jan 26, 2017 7:43 am

Re: Constructores

Post by jbrandlondoo » Mon Mar 13, 2017 2:05 pm

Code: Select all

public class Estudiante
{
	private int id;
	private int edad;
	private String nombre;
	private boolean sexo;
	private int cedula;
	private int telefono;
	private String materia;
	private int semestre;


	public Estudiante(String nombre)
	{
		this.nombre=nombre;	
	}

	public Estudiante(boolean sexo)
	{
		this.sexo=sexo;
	}

	public Estudiante(int telefono,int semestre)
	{
	this.telefono=telefono;
	this.semestre=semestre;
	}

	public Estudiante(int edad,int cedula,String materia,int id)
	{
	this.materia=materia;
	this.cedula=cedula;
	this.edad=edad;
	this.id=id;
	}

	public int getId()
	{
		return id;
	}
	
	public int getEdad()
	{
		return edad;
	}
	
	public int getCedula()
	{
		return cedula;
	}

	public String getMateria()
	{
		return materia;
	}

	public String getNombre()
	{
		return nombre;
	}

	public boolean getSexo()
	{
		return sexo;
	}

	public int getTelefono()
	{
		return telefono;
	}

	public int getSemestre()
	{
		return semestre;
	}
}

Code: Select all

import java.util.Scanner;
public class Programa
{
	public static void main(String[] args)
	{
		Estudiante estudiantes[],estudiante_1/*estudiante,estudiante_3,estudiante_4,estudiante_5,estudiante_6*/;
		Sigaa sigaa;
		Scanner scanner;
		int id;
		estudiantes = new Estudiante[1000];
		scanner = new Scanner(System.in);
		
		
		for(int i=1;i<=1000;i++)
		{
		estudiante_1 = new Estudiante("juan jose");
		estudiante_1 = new Estudiante(true);
		estudiante_1 = new Estudiante(12,4);
		estudiante_1 = new Estudiante(18,1038,"iot",i);
		estudiantes[i-1]=estudiante_1;
		}
		sigaa = new Sigaa(estudiantes);

		System.out.println("ingrese id a buscar");
		id = scanner.nextInt();
		sigaa.setId(id);
		sigaa.buscarId();
		
	}
}

Code: Select all

import java.util.Scanner;
public class Sigaa
{
	private Estudiante estudiante_1,estudiante_2,estudiantes[];
	private int id,cedula,id_new,edad,opcion;
	private Scanner scanner;
	private String materia;



	public Sigaa(Estudiante[] estudiantes)
	{
		this.estudiantes=estudiantes;
	}

	public void setId(int id)
	{
		this.id=id;
	}
	
	public void buscarId()
	{
		scanner = new Scanner(System.in);
		int terminar=0;
		for(int j=0;j<estudiantes.length;j++)
		{
			
			if(estudiantes[j].getId()==id)
			{
				estudiante_1=estudiantes[j];
				edad = estudiante_1.getEdad();
				id_new = estudiante_1.getId();
				cedula = estudiante_1.getCedula();
				materia = estudiante_1.getMateria();
				terminar=1;
				do{
					System.out.println("cambio\n1.materia\n2.edad\n3.id\n4.cedula\n5.salir");		
					opcion = scanner.nextInt();
					switch(opcion)
					{

						case 1:
							
							System.out.print("materia actual "+materia+" ingrese nueva:");
							materia=scanner.nextLine();
							break;

						case 2:
						
							System.out.print("edad actual "+edad+" ingrese nueva:");
							edad = scanner.nextInt();
							break;

						case 3:

							System.out.print("id actual "+id_new+" ingrese nuevo:");
							id_new = scanner.nextInt();
							break;

						case 4:
							
							System.out.print("cedula actual "+cedula+" ingrese nueva:");
							cedula = scanner.nextInt();
							break;
							
							
					}
				
				}while(opcion!=5);

				estudiante_2 = new Estudiante("juan jose");
				estudiante_2 = new Estudiante(true);
				estudiante_2 = new Estudiante(12,4);
				estudiante_2 = new Estudiante(edad,cedula,materia,id_new);
				estudiantes[j] = estudiante_2;		
			}
			else 
			{
				if(j==(estudiantes.length-1))
				{
					if(terminar==0)
					{
						System.out.println("el id no se encuentra registrado");
					}
				}
			}
		}
	}
}

Post Reply