domingo, 20 de marzo de 2016

Diseña una clase Palabra,una clase Ahorcado y una clase Main




CLASE PALABRA:

//Paquete de trabajo
package es.unex.cum.edi.sesion4;

//Clase Palabra
public class Palabra {
     //Atributos
     private String texto;
     private int longitud;
     private String pista;


//Constructor por defecto
public Palabra(){
     texto="";
     longitud=0;
     pista="";
    
}
//Constructor parametrizado
public Palabra(String texto,String pista){
     this.texto=texto;
     longitud=texto.length();
     this.pista=pista;
}
//Getters
//Get de texto
public String getTexto(){
     return texto;
}
//Get de longitud
public int getLongitud(){
     return longitud;
}
//Get de pista
public String getPista(){
     return pista;
}
//Setters
//Set de texto
public void  setTexto(String texto){
     this.texto=texto;
}
//Set de longitud
public void setLongitud(int longitud){
     this.longitud=longitud;
}
//Set de pista
public void setPista(String pista){
     this.pista=pista;
}

//toString()
public String toString(){
     String cadena="Texto:"+texto+"Longitud:"+longitud+"Pista:"+pista;
     return cadena;
}
//equals()
public boolean equals(Palabra p){
if((texto.equals(p.texto)&&(longitud==p.longitud)&&pista.equals(p.pista))){
         return true;
     }
     else {
         return false;
     }
}

}

CLASE AHORCADO:

package es.unex.cum.edi.sesion4;

import java.util.*;

public class Ahorcado {
     //Un vector lista en el que en cada posicion habra una palabra
     private Palabra[] lista;
     //Seleccionada es una palabra
     private Palabra seleccionada;
     private int intentos;
     private int maximo;
     private int cont;


//Constructor por defecto
public Ahorcado(){
     lista=new Palabra [5];
     seleccionada=new Palabra();
     intentos=0;
     maximo=0;
    
}

//Constructor parametrizado
public Ahorcado(int intentos,int maximo){
     this.intentos=intentos;
     this.maximo=maximo;
     lista=new Palabra [5];
     seleccionada=new Palabra();
    
    
}
//Getters
public Palabra[] getLista(){
     return lista;
}
public Palabra getSeleccionada(){
     return seleccionada;
}
public int getIntentos(){
     return intentos;
}
public int getMaximo(){
     return maximo;
}
//Setters
public void setLista(Palabra[] lista){
     this.lista=lista;
}
public void setSeleccionada(Palabra seleccionada){
     this.seleccionada=seleccionada;
}
public void setIntentos(int intentos){
     this.intentos=intentos;
}
public void setMaximo(int maximo){
     this.maximo=maximo;
}
//toString()
public String toString(){
     String cadena="Tengo una lista de palabras:"+lista.toString()+"y tengo seleccionada la palabra:"+seleccionada.toString()+"Intentos"+intentos+"Maximo:"+maximo;
     return cadena;
}
//equals
// para el atributo private(que es un vector) Palabra[] lista, usare Arrays.equals(lista,a.lista)
//para el atributo private(que es una palabra llamada seleccionada) Palabra seleccionada, usare this.seleccionada.equals(a.seleccionada)
//Los enteros se comparan en el equals con: this.intentos==a.intentos y this.maximo==a.maximo
public boolean equals(Object o){
     //Hacemos el upcasting a la clase derivada"Ahorcado"
     Ahorcado a=(Ahorcado)o;
    
     return Arrays.equals(lista,a.lista)&&this.seleccionada.equals(a.seleccionada)&&(this.intentos==a.intentos)&&(this.maximo==a.maximo);
}
//addPalabra()
public void addPalabra(Palabra p){
     //Buscamos un hueco donde insertar la palabra
     int i;
     //For para recorrer el vector lista
     for(i=0;i<lista.length;i++){
         //Si el espacio del vector esta vacion añado una palabra
         if(lista[i]==null){
              //Se le asigna el nuevo objeto p de palabra  a las posiciones del vector
              lista[i]=p;
              break;
         }
     }
     //If para comprobar que si la posicion donde se quiere añadir es igual
     //a el limite del vector, ya no se puede añadir ninguna palabra mas
     if (i==lista.length){
         System.out.println("Error,no hay sitio para añadir la palabra");
     }
}

}

CLASE MAIN:

martes, 1 de marzo de 2016

Diseña una clase propia y una clase main


CLASE SOUNDLCOUD:

//Paquete de trabajo
package es.unex.cum.edi.sesion3;

//Clase Soundlcoud
public class Soundcloud {
     //Atributos
     private String nombre;
     private String genero;
     private int duracion;

//Constructor por defecto
public Soundcloud(){
     nombre="";
     genero="";
     duracion=0;
}
//Constructor copia
public Soundcloud(String nombre,String genero,int duracion){
     this.nombre=nombre;
     this.genero=genero;
     this.duracion=duracion;
}

//Getters
//Get de nombre
public String getNombre(){
     return nombre;
}
//Get de genero
public String getGenero(){
     return genero;
}
//Get de duracion
public int getDuracion(){
     return duracion;
}

//Setters
//Set de nombre
public void setNombre(String nombre){
     this.nombre=nombre;
}
//Set de genero
public void setGenero(String genero){
     this.genero=genero;
}
//Set duracion
public void setDuracion(int duracion){
     this.duracion=duracion;
}

//Metodo toSting()
public String toString(){
     String cadena="["+nombre+","+genero+","+duracion+"]";
     return cadena;
}
//Metodo equals()
public boolean equals(Soundcloud s){
     if((nombre.equals(s.nombre)&&nombre.equals(s.nombre)&&(duracion==s.duracion))){
         return true;
     }
     else{
         return true;
     }
}


}

CLASE MAIN:

//Paquete de trabajo
package es.unex.cum.edi.sesion3;

//Añadimos la libreria java.io.* para poder trabajar con Buffered reader
import java.io.*;

import es.unex.cum.edi.sesion3.Soundcloud;

//Clase main
public class Main {
// Añadimos el public void main...
public static void main(String[] args) throws IOException {
// Declaramos vector de la clase Soundcloud
Soundcloud[] vector;
// Declaro un vector llamado vector de 0 a 4 posiciones
vector = new Soundcloud[5];
int suma = 0;
double media = 0.0;

// Inicializamos el vector
for (int i = 0; i < vector.length; i++) {
vector[i] = new Soundcloud();
}
// Introducimos los datos en el vector
InputStreamReader reader = new InputStreamReader(System.in);
BufferedReader Input = new BufferedReader(reader);
// For para recorrer el vector e ir metiendo los datos por teclado
for (int i = 0; i < vector.length; i++) {
// System.out.println("Introduzca el nombre de la cancion:");
String cad0 = Input.readLine();
vector[i].setNombre(cad0);

// System.out.println("Introduzca el genero de la cancion:");
String cad1 = Input.readLine();
vector[i].setGenero(cad1);

// System.out.println("Introduzca la duracion de la cancion:");
String cad2 = Input.readLine();
int duracion = Integer.parseInt(cad2);
vector[i].setDuracion(duracion);
}

// Mostrar datos del vector
// For para recorrer el vector e ir mostrando los datos
for (int i = 0; i < vector.length; i++) {
if (vector[i] != null) {
System.out.println(vector[i].toString());
}
}
// Suma de las duraciones de las canciones

// For para recorrer el vector
for (int i = 0; i < vector.length; i++) {
suma = suma + vector[i].getDuracion();
}
System.out.print("Suma: " + suma);
// media

float sum = suma;
media = sum / vector.length;
System.out.print(" Media: " + media);
}

}

CONSOLA: