miércoles, 23 de abril de 2014

Unidad 2 Ejercicio 19: Potencias de 2 con excepciones y cuadros de diálogo

Volvemos al ejercicio 19 de la unidad 2, pero en este caso leemos los valores mediante un cuadro de diálogo de la clase JOptionPane y mostramos el resultado del mismo modo.

También aprovechamos para repasar el manejo de excepciones y hacemos que si el usuario introduce algún valor que no sea de tipo numérico se lo advierta (ojo no usamos excepciones específicas).


package interfaz;

import javax.swing.JOptionPane;


public class Interfaz {

    /**
     * @param args the command line arguments
     */
    static String calculaPotencia(int num){
        String cadena="";

lunes, 21 de abril de 2014

Interfaz Gráfica de usuario en Java GUI


image
Esta semana comenzaremos con las interfaces gráficas en Java, independientemente de la manera en que las programemos –usando algún IDE o “a mano”- una buena aproximación al tema es este enlace a un tema introductorio de la Universidad de Salamanca y cuyo código parece sacada del libro “Como Programar” Ed. Pearson Prentice Hall.
Se pueden ver por un lado algunos de los componentes –junto con sus clases- y el funcionamiento de los eventos en Java prestando especial atención a aquellos más sencillos/básicos: botones, casillas de selección y botones de opciones.
En este otro enlace de la Universidad Politécnica de Cataluña se presta especial atención a las relaciones entre componentes, eventos y listeners.

*un buen complemento a los apuntes y boletines de ejercicios de Juanjo Sonrisa

viernes, 11 de abril de 2014

Unidad 3 Ejercicio de colas

Implementar una cola de personas (con nombre y apellidos) e ir insertándolos en la cola hasta que se introduzca la palabra fin.
Sacar e imprimir todas las personas de la cola en el orden de llegada /*

package unidad3ejercicionombresencola;
import java.util.Queue;
import java.util.LinkedList;
import java.util.Scanner;

public class Unidad3EjercicioNombresEnCola {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Queue<String> cola = new LinkedList<>();
        String linea;
        Scanner leo = new Scanner(System.in);
       
        do {
            System.out.println("Introduzca nombre: ");
            linea=leo.nextLine();
            cola.add(linea);
           
        } while (!linea.equalsIgnoreCase("FIN"));
       
        System.out.println("=======================================");
       
        while (!cola.isEmpty()) {
            System.out.println(cola.poll());
        }
       
    }
}

Ejercicios repaso (recomendados)



Unidad 2: 19, 27, 53, 65,78

Unidad 3: 1, 3,4,7, 13, 15, 18,22

Unidad 3 Ejercicio 38

Darle la vuelta a una cadena empleando una pila /*

package unidad3ejercicio38;

import java.util.Scanner;
import java.util.Stack;

public class Unidad3Ejercicio38 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
         Scanner leo = new Scanner(System.in);
        Stack<Character> pila = new Stack<>();
        String cadena;
       
        System.out.println("Introduzca una cadena");
        cadena=leo.nextLine();
      //  cadena=cadena.split(" ").toString();
        for (int i = 0; i < cadena.length(); i++) {
           
            pila.add(cadena.charAt(i));
        }
       
        System.out.println(pila);
        while (!pila.empty()) {
            System.out.print(pila.pop());
        }
       
   
    }
}

Unidad 3 Ejercicio 37: Imprimir los caracteres que forman parte de una cadena sin repeticiones

Imprimir los caracteres que forman parte de una cadena sin repeticiones
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package unidad3ejercicio37;
import java.util.TreeSet;
import java.util.Scanner;

/**
*
* @author juan
*/
public class Unidad3Ejercicio37 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Scanner leo = new Scanner(System.in);
        TreeSet<Character> conjunto = new TreeSet<>();
        String cadena;
       
        System.out.println("Introduzca una cadena");
        cadena=leo.nextLine();
      //  cadena=cadena.split(" ").toString();
        for (int i = 0; i < cadena.length(); i++) {
           
            conjunto.add(cadena.charAt(i));
        }
       
        System.out.println(conjunto);
   
    }
}

Unidad 3 Ejercicio 36: TreeSet de números generados aleatoriamente

package unidad3ejercicio36; import java.util.TreeSet; import java.util.Random; /** * * @author juan */ public class Unidad3Ejercicio36 { /** * @param args the command line arguments */ public static void main(String[] args) { TreeSet conjunto= new TreeSet<>(); Random al = new Random(); while (conjunto.size()<8) { int generado = al.nextInt(10)+1; conjunto.add(generado); System.out.println(generado); } System.out.println("___________________________________________"); for (Integer integer : conjunto) { System.out.println(integer); } System.out.println(conjunto); } }

Programame Ourense 2014 Presupuestos con objetos y arrayList

H - Presupuestos

Un compañero de Frenando, un tal, Kimi Cuentas se ha propuesto reformar una casa para dedicarla a turismo rural, pero tiene unas fuertes restricciones presupuestarias y temporales por lo que se ha dedicado a solicitar presupuestos a distintas empresas haciendo especial hincapié en que las empresas desglosaran las tareas en una serie de grupos a los que ha asignado una inicial:
O - OTROS
C - CARPINTERÍA
A - ALBAÑILERÍA
F - FONTANERÍA
R - CRISTALERÍA
E - ELECTRICIDAD
Frenando le ha implementado un programa que le permita escoger el mejor presupuesto.
En cada presupuesto puede haber categorías duplicadas o inexistentes, en caso de una categoría duplicada nos quedaremos con el mejor precio de esa categoría.

Programame Ourense H (para modificar)

Este código no controla duplicados en las categorías, modificarlo para que si lo haga:

package h.presupuestos;
import java.util.Scanner;
import java.util.ArrayList;

public class HPresupuestos {

  
    public static void main(String[] args) {
       Scanner leo = new Scanner(System.in);
       String linea;
       String palabras [];
       Categoria leida;
       Empresa empGana,empActual;
      
        empGana= new Empresa();
        linea=leo.nextLine();
        while (!linea.equalsIgnoreCase("FIN")) {
            empActual = new Empresa(linea);
            linea=leo.nextLine();
            palabras=linea.split(" ");
            while (!(palabras[1].equals("0") && palabras[2].equals("0") && palabras[3].equals("0"))) {
                leida= new Categoria(palabras[0].charAt(0),Double.parseDouble(palabras[1]),Double.parseDouble(palabras[2]),Double.parseDouble(palabras[3]));
                empActual.pushCategoria(leida);
                linea=leo.nextLine();
                palabras=linea.split(" ");
            }
            if ((empGana.nombre.equals("primera") || empActual.getPresupuesto()<empGana.getPresupuesto()) ||(empActual.getPresupuesto()==empGana.getPresupuesto()&&empActual.getHoras()<empGana.getHoras()))
            {
               empGana=empActual;
              
            }
          
          
            linea=leo.nextLine();
        }
        System.out.println(empGana.nombre+" "+empGana.getHoras());
      
      
      
      
    }
}

miércoles, 9 de abril de 2014

Explicación Interface, override, implements....

Ejemplo de deportista implementando comparable para en un Array mostrar los elementos ordenados, también sobrescribimos el método equals que es empleado por el método contains de los ArraysList para decirnos si un objeto está o no incluido en el mismo.:

package interfaces;


public class Deportista implements Comparable {
    int anhos;
    String nombre;

    public Deportista(int anhos, String nombre) {
        this.anhos = anhos;
        this.nombre = nombre;
       
       
    }

    @Override
 

lunes, 7 de abril de 2014

Explicando herencia 2

Definiendo un objeto sofá que herede propiedades de un mueble.




package ejerciciomuebles;

/**
*
* @author juan
*/
public class EjercicioMuebles {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Mueble miMueble = new Mueble();
 

Explicando herencia, polimorfismo, sobrescritura,...


Ejemplo figuras,... está incompleto e incluso erróneo en la concepción, montado para explicar NO PARA USAR
package herencia;

/**
*
* @author juan
*/
public class Herencia {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        NuevaClase a = new NuevaClase("Pepe");
        NuevaClase b = new NuevaClase("yO NO SOY PPEP");
        NuevaClase tmp;
        Cuadrado cuadrado = new Cuadrado(25);
        Cuadrado c2 = new Cuadrado(23);
        Cuadrado c3 = new Cuadrado(25);
       
        System.out.println(" son iguales cuadrado y c3"+ cuadrado.equals(c3));
        System.out.println(" iguales a y c3 "+ c3.equals(a));
       
       
        /*
        Figura miFigura = new Figura();
        Paralelogramo otro = new Paralelogramo(2,3,4,5);
       
        miFigura.setLados(10);
        System.out.println(miFigura.getLados());
       
        System.out.println("Perímetro" + otro.perimetro());
        System.out.println("Lados: " + otro.getLados());
       
        System.out.println("Perímetro cuadrado: "+ cuadrado.perimetro());
        System.out.println("Lados: "+cuadrado.getLados());
        System.out.println("Área "+ cuadrado.area());
        System.out.println("Longitud lado: "+cuadrado.getlonLado());
       
      /*
        System.out.println(a==b);
        System.out.println("Igualando....");