Ejemplos Prácticos de Código en Java: Clases, Métodos y Excepciones
Introducción al Código en Java
A continuación se presentan diversos fragmentos de código fuente en Java que ilustran la creación de clases, métodos, manejo de excepciones y uso de estructuras de datos.
Clase Principal y Uso de Objetos
El siguiente ejemplo muestra la clase ejecutable PPrograma, la cual instancia un Blog y un Post, añadiendo elementos y recorriéndolos mediante bucles.
public class PPrograma {
public static void main(String[] args) {
Blog blog = new Blog(1,"pepe","juan"... );
// blog.setIdBlog(1);
blog.setTitulo("Blog de Prueba 1");
Post post = new Post();
post.setIdPost(1);
post.setTituloPost("Post de Prueba 1");
blog.addPost(post);
//blog.removePost(post);
//Vector aux = blog.verTodosLosPost();
System.out.println("Número de elementos: " + blog.verTodosLosPost().size());
for (int i=0; i<blog.verTodosLosPost().size();i++) {
System.out.println("La Id es: "+blog.verTodosLosPost().elementAt(i).getIdPost());
}
}
}Arrays y Productos
Ejemplo de la clase PProducto que maneja un arreglo de objetos y herencia con Electrodoméstico.
import java.util.Vector;
public class PProducto{
Producto array[]=new Producto[10];
array[0]=new Electrodomestico(1,"lavadora",5,200,"1 año",0.10);
System.out.println("Datos:"+array[0].getNombre()+","+array[0].getGarantia());
array[1]=new Producto(1111,"tomates",100,0,60);
}Estructura de la Clase Blog
Implementación básica de los atributos y métodos de gestión para un blog.
public class Blog {
private int idBlog;
private String tituloBlog;
private Vector listaDePost;
public int getIdBlog() {
return idBlog;
}
public void setIdBlog(int id) {
this.idBlog = id;
}
public void addPost (Post post) {
listaDePost.add(post);
}
public void removePost (Post post) {
listaDePost.remove(post);
}
public Vector verTodosLosPost () {
return listaDePost;
}
}Gestión de Usuarios y Excepciones Personalizadas
La clase Usuario valida la longitud mínima del nombre de usuario y la contraseña, lanzando excepciones específicas si no se cumple el requisito.
class Usuario {
public Usuario(String u, String p, String pa, int cod) throws UserTooShort, PasswordTooShort{
if (u.length()<6) throw new UserTooShort("usuario corto");
else user=u;
if (p.length()<6) throw new PasswordTooShort("password corta");
else password=p;
pais=pa;
cp=cod;
credito=0;
}
public String getUser(){return user;}
public void setUser(String u){
if (u.length()<6) throw new UserTooShort("usuario corto");
else user=u;
}
public String getPassword(){return password;}
public void setPassword(String p){
if (u.length()<6) throw new PasswordTooShort("password corto");
else password=p;
}
}Control de Excepciones
Bloque try-catch para capturar errores en la creación del usuario.
try {
Usuario u=new Usuario("pepito", "lalalal","España",30006);
}
catch (UserTooShort uts){System.out.println(uts.getMessage());}
catch (PasswordTooShort pts){System.out.println(pts.getMessage());}Herencia: Clase Electrodoméstico
Extensión de la clase Producto añadiendo atributos particulares.
class Electrodomestico extends Producto {
private String garantia;
private double descuento;
public Electrodomestico(int c, String n, double s, double p, String g, double d){
super(c,n,s,p);
garantia=g;
descuento=d;
}
}Lectura por Consola con Scanner
Ejemplo simple utilizando la clase Scanner para la entrada de datos numéricos.
import java.util.Scanner;
public class Ej3{
public static void main(String a[]){
Scanner sc=new Scanner(System.in);
System.out.println("Introduce un número:");
int n=sc.nextInt();
}
}