public static void main(String[] args) { // Defino una variable como entero // almacena 1 valor entero int edad = 5; // Para almacenar más de un valor del mismo tipo // se usan los arrays int[] edades = new int[5]; edades[0] = 20; edades[1] = 70; edades[2] = 8; edades[3] = 90; edades[4] = 65; for (int i = 0; i < edades.length; i++) { System.out.println(edades[i]); } int[] precios = { 20, 30, 50, 18 }; System.out.println(precios[2]); precios = new int[5]; int[] fibonacci = new int[10]; fibonacci[0] = 1; fibonacci[1] = 1; for (int i = 2; i < fibonacci.length; i++) { fibonacci[i] = fibonacci[i - 1] + fibonacci[i - 2]; } System.out.println(Arrays.toString(fibonacci)); // foreach for (int numero : fibonacci) { System.out.println(numero); } System.out.println(fibonacci); printArray(fibonacci); int[] inverso=reverseArray(fibonacci); System.out.println(Arrays.toString(inverso)); int[] otro=printArrayDuplicado(fibonacci); System.out.println(Arrays.toString(fibonacci)); int a=90; int b=a; a=25; int[] pepe=fibonacci.clone(); int[] nuevo=Arrays.copyOf(fibonacci,fibonacci.length); System.out.println(doble(a)); System.out.println(a); } public static void printArray(int[] arr) { for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + " "); } System.out.println(); } public static int[] reverseArray(int[] arr) { int[] result = new int[arr.length]; for (int i = 0; i < arr.length; i++) { result[i] = arr[arr.length - i - 1]; } return result; } public static int[] printArrayDuplicado(int[] arr) { for (int i = 0; i < arr.length; i++) { arr[i]*=2; // NO HACER NUNCA } return arr; } public static int doble(int numero) { numero*=2; return numero; }
Autor: Juan Pablo Fuentes
Más ejercicios cadenas resueltos
static int contarLetra(String cadena, char letra) { int total = 0; for (int i = 0; i < cadena.length(); i++) { if (cadena.charAt(i) == letra) { total++; } } return total; } static int contarVocales(String cadena) { cadena = quitarAcentos(cadena.toLowerCase()); String vocales = "aeiou"; int total = 0; for (int i = 0; i < vocales.length(); i++) { total += contarLetra(cadena, vocales.charAt(i)); } return total; } static String sinEspacios(String cadena) { cadena = cadena.trim(); while (cadena.indexOf(" ") != -1) { cadena = cadena.replace(" ", " "); } return cadena; } static int contarChar(String cadena, char letra) { int total = 0; for (int i = 0; i < cadena.length(); i++) { if (cadena.charAt(i) == letra) { total++; } } return total; } static String eliminar(String cadena, String cadenaEliminar) { return cadena.replace(cadenaEliminar, ""); } static String cambiar(String cadena, char antiguo, char nuevo) { return cadena.replace(antiguo, nuevo); }
Ejercicios cadenas resueltos
public static void main(String[] args) { // Escribir una función que invierta el orden de los caracteres // de una cadena dada. invertir("hola")–>"aloh" String alreves=invertirCadena("cacahuete"); System.out.println(alreves); if (esPalindromo("Isaac no ronca así")) { System.out.println("Es palindromo"); } System.out.println(quitarAcentos("áéíóúàèìòùäëïöü")); // Saber si una cadena es un palíndromo // Se lee lo mismo al derecho que al revés // dabalearrozalazorraelabad // dabalearrozalazorraelabad // Sé dar la vuelta: Lo acabo de hacer // Sé quitar espacios: replace(" ", "") // quitar acentos que nos sustituya vocales acentuadas // por vocales sin acento // puedo reemplazar cada vocal acentuada por la sin acentuar // Tengo un problema: hay que encontrar el algoritmo // ¿Cómo lo hago yo? // Divide y vencerás: El problema grande se convierte // En problemas más pequeños } public static String quitarAcentos(String cadena) { String acentos="áéíóúàèìòùäëïöü"; String sinacentos="aeiou"; for(int i=0;i<acentos.length();i++) { cadena=cadena.replace(acentos.charAt(i), sinacentos.charAt(i%5)); // Aritmética modular } return cadena; } public static boolean esPalindromo(String cadena) { cadena=cadena.replace(" ",""); cadena=quitarAcentos(cadena); return cadena.equalsIgnoreCase(invertirCadena(cadena)); } public static String invertirCadena(String cadena) { // cacahuete -> eteuhacac // empiezo por el final, voy letra a letra y escribo cada letra // ¿Se empezar e ir letra a letra? Sí con un for // Se añadir esas letras a un resultado: sí, concatenando String res=""; for(int i=cadena.length()-1;i>=0;i--) { res+=cadena.charAt(i); } return res; }
Strings en Java
// Definir cadenas String nombre="Ana"; String departamento="marketing"; System.out.println(nombre+" "+ departamento); nombre="Eva"; System.out.println(nombre+" "+ departamento); // Estas tres cadenas valen lo mismo String alumno1="Ana"; String alumno2=alumno1; String alumno3="Ana"; Scanner sc=new Scanner(System.in); String alumno4=sc.next(); if (alumno1==alumno2) { System.out.println("Alumno 1 es igual al 2"); } if (alumno1==alumno3) { System.out.println("Alumno 1 es igual al 3"); } if (alumno1==alumno4) { System.out.println("Alumno 1 es igual al 4"); } // Todo este rollo es para que enendáis que si quiero // comprobar que dos cadenas son iguales // Tengo que usar equals if (alumno1.equals(alumno4)) { System.out.println("Alumno 1 es igual al 4"); } // en un tipo primitivo el nombre es una caja // En la que meto el valor int edad=5; //En los que no son primitivos (casi todos) // El nombre es una caja donde está la // posición de memoria donde está el valor String aula="Mates"; System.out.println("Dime tu ciudad"); String ciudad=sc.next(); // Comprobar si una cadena es igual a otra // siempre uso equals if (ciudad.equals("barcelona")) { System.out.println("Eres de Barcelona"); } // length es una de las muchas funciones // de la clase string System.out.println(ciudad.length()); // charAt(posicion) el caracter en esa posición String referencia="ABCDE"; System.out.println(referencia.charAt(0)); // La A // Esto me recorre todas las letras de la cadena for (int i=0;i<referencia.length();i++) { System.out.println(referencia.charAt(i)); } System.out.println(referencia.charAt(referencia.length()-1));// Último caracter for (int i=0;i<referencia.length();i++) { System.out.println(referencia.charAt(referencia.length()-i-1)); } // Obtener subcadenas de una cadena // substring(int beginIndex, int endIndex) for (int i=0;i<referencia.length();i++) { System.out.println(referencia.substring(i)); } for (int i=0;i<referencia.length();i++) { System.out.println(referencia.substring(0,i+1)); } // Buscar una cadena dentro de otra // Si la encuentra nos devuelve la posición // Si no la encuentra nos devuelve -1 String quijote="En un lugar de la mancha de cuyo nombre no quiero acordarme"; System.out.println(quijote.indexOf(" mancha")); // 18 System.out.println(quijote.indexOf("messi")); // -1 porque no lo ha encontrado System.out.println(quijote.indexOf("de")); // 12 System.out.println(quijote.indexOf("de",13)); // 25 int pos1=quijote.indexOf("de"); //12 int pos2=quijote.indexOf("de", pos1+1); //25 // Me busca todas las apariciones de la cadena buscar // Dentro de quijote String buscar="de"; int pos=quijote.indexOf(buscar); while(pos!=-1) { System.out.println(pos); pos=quijote.indexOf(buscar, pos+1); } // Reemplazar una cadena por otra // replace(CharSequence target, CharSequence replacement) String censura=quijote.replace("mancha", "###"); System.out.println(censura); String noespacios=quijote.replace(" ", ""); System.out.println(noespacios); // Convertir a mayúsculas y a minúsculas // toUpperCase() y toLowerCase() System.out.println(quijote.toUpperCase()); System.out.println(quijote.toLowerCase()); ciudad=" barcelona"; if (ciudad.trim().toLowerCase().equals("barcelona")) { System.out.println("Eres de Barcelona"); } if (ciudad.equalsIgnoreCase("barcelona")) { System.out.println("Eres de Barcelona"); } ciudad.endsWith("a"); //Acaba en la letra a ciudad.startsWith("a"); // Empieza con a ciudad.trim(); // Elimina los espacios del principio y del final
Librería JS para hacer juegos vintage
Mas diccionarios
[Python]
coche1={“marca”:”Tesla”,”tipo”:”Electrico”,”autonomía”:500,”precio”:40000}
coche2={“marca”:”Citroen”,”tipo”:”Gasolina”,”autonomía”:2500,”precio”:10000}
empleado1={“departamento”:”contabilidad”,”sueldo”:3000,”nombre”:”Ana Pi”}
empleado2={“departamento”:”marketing”,”sueldo”:2000,”nombre”:”Eva Buj”}
# sueldo del emppleado 1
print(empleado1[‘sueldo’])
# aumento el sueldo un 10% al empleado 1:
empleado1[‘sueldo’]*=1.1
print(empleado1[‘sueldo’])
concesionario=[{“marca”:”Tesla”,”tipo”:”Electrico”,”autonomía”:500,”precio”:40000},
{“marca”:”Citroen”,”tipo”:”Gasolina”,”autonomía”:2500,”precio”:10000},
{“marca”: “Ford”, “tipo”: “Gasolina”, “autonomía”: 3500, “precio”: 20000},
{“marca”: “Ferrari”, “tipo”: “Gasolina”, “autonomía”: 5500, “precio”: 120000},
{“marca”: “Seat”, “tipo”: “Electrico”, “autonomía”: 700, “precio”: 10000},
{“marca”: “Skoda”, “tipo”: “Gasolina”, “autonomía”: 3500, “precio”: 7000},
]
for coche in concesionario:
print(coche)
# Cual es el coche más caro
def coche_mas_caro(concesionario):
caro=concesionario[0]
for coche in concesionario:
if coche[‘precio’]>caro[‘precio’]:
caro=coche
return caro
# media de precios
def media_precios_coche(concesionario):
total=0
for coche in concesionario:
total+=coche[‘precio’]
return total/len(concesionario)
def coches_con_autonomia(concesionario, autonomia):
res=[]
for coche in concesionario:
if coche[‘autonomía’]>=autonomia:
res.append(coche[‘marca’]) # res+=[coche]
return res
print(“Mas caro”,coche_mas_caro(concesionario))
print(media_precios_coche(concesionario))
for coche in coches_con_autonomia(concesionario,2000):
print(coche)
empleados=[{“departamento”:”contabilidad”,”sueldo”:3000,”cantidad”:3},
{“departamento”:”marketing”,”sueldo”:2000,”cantidad”:2},
{“departamento”:”ceo”,”sueldo”:12000,”cantidad”:1},
{“departamento”:”administracion”,”sueldo”:1500,”cantidad”:5}]
# ¿Cuanto gasta la empresa en sueldos al mes?
def total_sueldos(empresa):
total=0
# ¿Qué recorro? UNA LISTA
for empleado in empresa:
total+=empleado[‘sueldo’]*empleado[‘cantidad’]
return total
print(total_sueldos(empleados))
[/Python]
Ejemplos diccionarios
[Python]
# Pares clave:valor
# nombre del alumno y la nota
alumnos=[“Ana”,”Pep”,”Eva”]
notas=[6,7,2]
alumno1={“nombre”:”Ana”,”nota”:6,”email”:”ana@ana.com”,”telefono”:”666999666″}
alumno2={“nombre”:”Pep”,”nota”:7}
alumno3={“nombre”:”Eva”,”nota”:2}
clase=({“nombre”:”Ana”,”nota”:6,”email”:”ana@ana.com”,”telefono”:”666999666″},
{“nombre”:”Pep”,”nota”:7},
{“nombre”:”Eva”,”nota”:2})
print(alumno1[‘nombre’])
# recorremos el diccionario, por defecto son las claves (nombre, nota…)
for clave in alumno1:
print(clave, alumno1[clave])
# recorremos solo los valores del diccionario (“Ana”,6,…)
for valor in alumno1.values():
print(valor)
# recorremos las dos cosas, la clave y el valor desempaquetando los items
for clave,valor in alumno1.items():
print(clave,valor)
# bucle anidado para recorrer la lista de alumnos y después sus valores
for alumno in clase: # Primero obtengo el alumno
print(alumno)
for clave, valor in alumno.items(): #para cada alumno recorro sus valores
print(clave, valor)
# Función para calcular la media de notas de una clase
def mediaNotas(clase):
total=0
for alumno in clase: # recorro la lista de alumnos
total+=alumno[‘nota’] # accedo directamente al valor del diccionario que me hace falta
# no hace falta un bucle anidado
return total/len(clase)
print(mediaNotas(clase))
[/Python]
Ejemplos bucles anidados y otros
# bucle anidado: bucle dentro de otro bucle def palabrascon2A(cadena): res=[] for palabra in cadena.split(): cont=0 for i in palabra: if i == "a": cont+=1 if (cont==2): res.append(palabra) return res print(palabrascon2A("hola que tal hacia mañana")) def contarLetra(palabra,letra): cont=0 for l in palabra: if l==letra: cont+=1 return cont def palabrasConLetrasContadas(cadena,letra,cantidad): res=[] for palabra in cadena.split(): if contarLetra(palabra,letra)==cantidad: res+=[palabra] return res print(palabrasConLetrasContadas("ojo con los monstruos horrososo","o",2))
Ejemplos datos
cadena="holi" tupla=(1,2,3) lista=[1,2,3] diccionario={"a":1,"b":2} conjunto={1,2,3} print(tupla[0]) for i in tupla: print(i) a,b,c=tupla # desempaquetado print(a,b,c) def extremos(lista): menor=lista[0] mayor=lista[0] for numero in lista: if numero<menor: menor=numero if numero>mayor: mayor=numero return (menor, mayor) print(extremos([2,23,4,5,23,5,23,9,67,4])) menor,mayor=extremos([2,23,4,5,23,5,23,9,67,4]) ana,pepe=extremos([2,23,4,5,23,5,23,9,67,4]) print("menor",menor) print("mayor",mayor)
Ejemplos for
# for en python es muy sencillo, solo recorre cosas lista=[1,2,3,4] for i in lista: print(i) for letra in "hola": print(letra) for numero in range(10): print(numero) for n in range(1,11): print(n) for n in range(10,1000,10): print(n) tupla=(4,8,1) for t in tupla: print(t) diccionario={"nombre":"Ana","nota":6} for d in diccionario: print(d) for v in diccionario.values(): print(v) for j in diccionario.items(): print(j) print(list(range(1,11))) # recorrer una lista de numeros y sumarla total=0 for n in lista: total+=n print(total) # recorrer una lista de numeros y sumarla si son pares total=0 for n in lista: if n%2==0: total+=n print(total) # recorrer una cadena y contar las 'a' contador=0 for letra in "hola que tal": if letra=='a': contador+=1 print(contador)