diff --git b/Dia 1/Torosyvacas.java a/Dia 1/Torosyvacas.java new file mode 100644 index 0000000..857adc4 --- /dev/null +++ a/Dia 1/Torosyvacas.java @@ -0,0 +1,211 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package torosyvacas; + +import java.util.Scanner; + +/** + * + * @author user + */ +public class Torosyvacas { + + /** + * @param args the command line arguments + */ + public static void main(String[] args) { + // TODO code application logic here + + Scanner jf= new Scanner (System.in); + int numAdivinar =0; + int [] digitos; + boolean cifrasRepetidas= false; + + + + do{ + + + + numAdivinar= generaNumeroAleatorio(1000, 9999);// Indica todos las combinaciones posibles de 4 cifras + + digitos= devuelveDigitos(numAdivinar); + + cifrasRepetidas= elementoRepetido(digitos);// si exiten digitos repetidos + + + } while(cifrasRepetidas); + + System.out.print(numAdivinar); + + boolean fin = false; // indica cuando acaba el juego + + + while(!fin){ + + System.out.println("Inserte un numero jugador "); + int numeroUsuario= jf.nextInt(); + int[]digitosusuario= devuelveDigitos(numeroUsuario); + + if(digitosusuario.length != 4){ + System.out.println("Solo numero de 4 cifras jugador B "); + + }else{ + int toros= numeroElementosRepetidosMismaPosicion(digitosusuario, digitos); // cuantos numeros coinciden + int vacas= numeroElementosRepetidosDistintaPosicion(digitosusuario, digitos); + + System.out.println("INTENTO B "+toros+"T"+vacas+"V"); + if(toros==digitos.length){ + fin= true; + System.out.println(" FIN DEL JUEGO GANO B"); + } + } + } + + + } + //Funciones + //Funcion para generar numero aleatorio + public static int generaNumeroAleatorio(int minimo, int maximo){ + + int num=(int)Math.floor(Math.random()*(minimo-(maximo+1))+(maximo+1)); + return num; + } + + public static boolean elementoRepetido(int[] array) { + + // Recorremos el array la 1º vez + for (int i = 0; i < array.length; i++) { + + // Recorremos el mismo array + for (int j = i + 1; j < array.length; j++) { + // Si coincide significa que hay un elemento repetido + if (array[i] == array[j]) { + return true; + } + } + + } + + // No hay un elemento repetido + return false; + + } + public static int numeroElementosRepetidosDistintaPosicion(int[] array1, int[] array2) { + + int repetidos = 0; + for (int i = 0; i < array1.length; i++) { + + for (int j = 0; j < array2.length; j++) { + // Sino es la misma posicion y son igaules, aumento los repetidos + if (i != j && array1[i] == array2[j]) { + repetidos++; + } + } + } + return repetidos; + } + + /** + * Indico cuando elementos repetidos hay en dos arrays. Solo arrays con la + * misma longitud y en la misma posicion. + * + * @param array1 Primer array + * @param array2 Segundo array + * @return Numero de repeticiones en ambos arrays. Devuelve -1 en caso de + * que sean de logitudes diferentes + */ + public static int numeroElementosRepetidosMismaPosicion(int[] array1, int[] array2) { + + // Si son de diferentes longitudes, devuelvo -1 + if (array1.length != array2.length) { + return -1; + } + + int repetidos = 0; + + for (int i = 0; i < array1.length; i++) { + // Si son iguales, aumento los repetidos + if (array1[i] == array2[i]) { + repetidos++; + } + } + + return repetidos; + + } + + /** + * Devuelve los digitos de un numero en un array + * + * @param numeroInicial Numero al que extraer los digitos + * @return Array con cada uno de los digitos + */ + public static int[] devuelveDigitos(int numeroInicial) { + + int numero = numeroInicial; + + int digitos[] = new int[cuentaCifras(numeroInicial)]; + int numero_solo; + + for (int i = 0; numeroInicial > 0; i++) { + numero /= 10; + numero_solo = numeroInicial - (numero * 10); + digitos[i] = numero_solo; + numeroInicial = numero; + } + return invertirArray(digitos); + + } + + + + + + + + //* Cuenta el numero de cifras de un numero + //* + /* @param num Número a contrar + * @return numero de cifras + */ + + public static int cuentaCifras(int num) { + + int contador = 0; + + if (num == 0) { + contador = 1; + } else { + + for (int i = Math.abs(num); i > 0; i/=10) { + contador++; + } + + } + + return contador; + } + /** + * Invierte los datos de un array + * + * @param array Array que contiene los datos + * @return Devuelve un nuevo array con los datos invertidos + */ + public static int[] invertirArray(int array[]) { + + int temp[] = new int[array.length]; + + for (int i = temp.length - 1, j = 0; i >= 0; i--, j++) { + temp[i] = array[j]; + } + + return temp; + } + + + +} diff --git b/Dia 2/Lot.png a/Dia 2/Lot.png new file mode 100644 index 0000000..bd91b71 Binary files /dev/null and a/Dia 2/Lot.png differ diff --git b/Dia 2/UML.png a/Dia 2/UML.png new file mode 100644 index 0000000..503a8ba Binary files /dev/null and a/Dia 2/UML.png differ diff --git b/Dia 2/switch_meses.java a/Dia 2/switch_meses.java new file mode 100644 index 0000000..526b39e --- /dev/null +++ a/Dia 2/switch_meses.java @@ -0,0 +1,52 @@ + +public class switch_meses { + public static void main (String[] arg) { + String dia_m; + System.out.println("Ingresar mes"); + dia_m = System.console().readLine(); + + String mes; + + switch (dia_m) + { + case "12": + + + case "1": + + + case "2": + mes = "Verano"; + break; + case "3": + + case "4": + + case "5": + + mes = "Otonio"; + break; + case "6": + + case "7": + + case "8": + mes = "invierno"; + break; + + case "9": + + case "10": + + case "11": + mes = "Primavera"; + break; + + default: mes = "lang inválido"; + break; + + } + System.out.println(mes); + + } +} diff --git b/Dia 3/ConsultasFilm.docx a/Dia 3/ConsultasFilm.docx new file mode 100644 index 0000000..cf45764 Binary files /dev/null and a/Dia 3/ConsultasFilm.docx differ diff --git b/Dia 3/Dia3.docx a/Dia 3/Dia3.docx new file mode 100644 index 0000000..3fdba79 Binary files /dev/null and a/Dia 3/Dia3.docx differ diff --git b/Dia 3/Mochila.java a/Dia 3/Mochila.java new file mode 100644 index 0000000..ad0b63e --- /dev/null +++ a/Dia 3/Mochila.java @@ -0,0 +1,256 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package mochila; + +/** + * + * @author user + */ +public class Mochila { +private int pesoMaximo; + private Elemento[] elementos; + + private int peso; + private int beneficio; + + public Mochila(int pesoMaximo, int numElementos) { + this.pesoMaximo = pesoMaximo; + this.elementos = new Elemento[numElementos]; + this.beneficio = 0; + this.peso = 0; + } + + public Elemento[] getElementos() { + return elementos; + } + + public int getPeso() { + return peso; + } + + public void setPeso(int peso) { + this.peso = peso; + } + + public int getBeneficio() { + return beneficio; + } + + public void setBeneficio(int beneficio) { + this.beneficio = beneficio; + } + + public int getPesoMaximo() { + return pesoMaximo; + } + + public void setPesoMaximo(int pesoMaximo) { + this.pesoMaximo = pesoMaximo; + } + + /** + * Añade un elemento a la mochila + * @param e + */ + public void aniadirElemento(Elemento e) { + + for (int i = 0; i < this.elementos.length; i++) { + if (this.elementos[i] == null) { + this.elementos[i] = e; //lo añade + this.beneficio+=e.getBeneficio(); // aumenta el beneficio + this.peso+=e.getPeso(); // Aumenta el piso + break; + } + } + + } + + /** + * Vaciamos la mochila + */ + public void clear() { + this.peso=0; + this.beneficio=0; + for (int i = 0; i < this.elementos.length; i++) { + this.elementos[i] = null; + } + } + + /** + * Elimina elemento dado + * @param e + */ + public void eliminarElemento(Elemento e) { + for (int i = 0; i < this.elementos.length; i++) { + if (this.elementos[i].equals(e)) { + this.elementos[i] = null; //el elemento fuera + this.peso-=e.getPeso(); //Reduce el peso + this.beneficio-=e.getBeneficio(); // reduce el beneficio + break; + } + } + } + + /** + * Indica si existe un elemento + * @param + * @return + */ + public boolean existeElemento(Elemento e) { + for (int i = 0; i < this.elementos.length; i++) { + if (this.elementos[i] != null && this.elementos[i].equals(e)) { + return true; + } + } + return false; + } + + /** + * Muestra la mochila + * @return + */ + + + public String toString() { + String cadena=""; + for (int i = 0; i < this.elementos.length; i++) { + if (this.elementos[i] != null) { + cadena+=elementos[i]+"\n"; + } + } + cadena+="Peso: " + getPeso()+"\n"; + cadena+="Beneficio: " + getBeneficio()+"\n"; + return cadena; + + } + + + /** + * @param args the command line arguments + */ + + public static void llenarMochila(Mochila m_base, Elemento[] elementos, boolean llena, Mochila m_opt) { + + //si esta llena + if (llena) { + //compruebo si tiene mas beneficio que otra + if (m_base.getBeneficio() > m_opt.getBeneficio()) { + + Elemento[] elementosMochBase = m_base.getElementos(); + m_opt.clear(); + + //metemos los elementos + for (Elemento e : elementosMochBase) { + if (e != null) { + m_opt.aniadirElemento(e); + } + + } + + } + + } else { + //Recorre los elementos + for (int i = 0; i < elementos.length; i++) { + //si existe el elemento + if (!m_base.existeElemento(elementos[i])) { + //Si el peso de la mochila se supera, indicamos que esta llena + if (m_base.getPesoMaximo() > m_base.getPeso() + elementos[i].getPeso()) { + m_base.aniadirElemento(elementos[i]); //añadimos + llenarMochila(m_base, elementos, false, m_opt); + m_base.eliminarElemento(elementos[i]); // lo eliminamos + } else { + llenarMochila(m_base, elementos, true, m_opt); + } + + } + + } + + } + + } + public static void main(String[] args) { + + + + Elemento[] elementos = { + new Elemento(1, 1), + new Elemento(2, 2), + new Elemento(4, 10), + new Elemento(1, 2), + new Elemento(12, 15); + + Mochila m_base = new Mochila(15, elementos.length); + Mochila m_opt = new Mochila(15, elementos.length); + + llenarMochila(m_base, elementos, false, m_opt); + + System.out.println(m_opt); + +// TODO code application logic here + } + + + + + + +public class Elemento { + + private int peso; + private int beneficio; + + public Elemento(int peso, int beneficio) { + this.peso = peso; + this.beneficio = beneficio; + } + + public int getPeso() { + return peso; + } + + public void setPeso(int peso) { + this.peso = peso; + } + + public int getBeneficio() { + return beneficio; + } + + public void setBeneficio(int beneficio) { + this.beneficio = beneficio; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + final Elemento other = (Elemento) obj; + if (this.peso != other.peso) { + return false; + } + if (this.beneficio != other.beneficio) { + return false; + } + return true; + } + + @Override + public String toString(){ + return "Peso:"+peso+","+" beneficio:"+beneficio; + } + + +} +} diff --git b/Dia 3/Pila.java a/Dia 3/Pila.java new file mode 100644 index 0000000..ee5458e --- /dev/null +++ a/Dia 3/Pila.java @@ -0,0 +1,42 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package pila; + +import java.util.Stack; + +/** + * + * @author user + */ +public class Pila { + + /** + * @param args the command line arguments + */ + public static void main(String[] args) { +Stack pila= new Stack(); +pila.push(1); +pila.push(2); +pila.push(3); +pila.push(4); +pila.push(5);pila.push(6); +pila.push(7); + + +System.out.println(" "+pila.peek()); + +while (pila.empty()==false + + ){ +System.out.println(pila.pop()); + +} + + +// TODO code application logic here + } + +} diff --git b/Dia 3/~$Dia3.docx a/Dia 3/~$Dia3.docx new file mode 100644 index 0000000..60bfab0 Binary files /dev/null and a/Dia 3/~$Dia3.docx differ diff --git b/Dia 3/~$nsultasFilm.docx a/Dia 3/~$nsultasFilm.docx new file mode 100644 index 0000000..60bfab0 Binary files /dev/null and a/Dia 3/~$nsultasFilm.docx differ diff --git b/Dia 4/Calculadora.html a/Dia 4/Calculadora.html new file mode 100644 index 0000000..df53149 --- /dev/null +++ a/Dia 4/Calculadora.html @@ -0,0 +1,68 @@ + + +
++ + | |||
+ | + + | + + | + + + |
+ | + + | + + | + + + |
+ | + | + | + |
+ | + | + | + |