1
Comunidad / Re: Feliz Navidad y Próspero Año Nuevo para todos
« en: 24 de Diciembre 2020, 09:37 »
Feliz Navidad foro
Aprende Java con el libro "Aprender a programar en Java desde cero. Curso paso a paso." Editorial aprenderaprogramar. com. 200 pgs. Disponible en papel y ebook.
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Son varias horas lo que un usuario puede editar un mensaje publicado (creo que tres horas). Lo que sí puede haber es una limitación para hacer publicaciones o ediciones muy seguidas para evitar robots, así por ejemplo si intentas publicar muy seguido o editar muy seguido te puede decir que no ha transcurrido el tiempo mínimo entre publicaciones o ediciones que está en torno a 30 segundos. Esto para evitar robots que pueden intentar publicar varios mensajes por segundo o así.Ok, gracias de nuevo. Perdona por seguir una conversación que se sale del topic del hilo principal, pero me ha servido mucho.
public static void mostrarMatriz(Integer[][] array) {
System.out.println("Sacando la matriz:\n");
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
System.out.println(array[i][j] + " ");
}
System.out.println(); // salto de linea
}
}
public static void main(String[] args) {
/*
* Pedir al usuario numeros por consola hasta llenar una matriz de 4x4
* Cambiar los numeros de las diagonales por 1 Sacar por consola las 2
* matrices
*/
Integer array[][] = new Integer[4][4];
Scanner sc = new Scanner(System.in);
// Llenamos la matriz
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
System.out.println("Introduzca el valor " + i + " - " + j + ":");
array[i][j] = sc.nextInt();
}
}
sc.close();
// Mostrar la matriz introducida
mostrarMatriz(array);
// Cambiar las diagonales de la matriz a 1
array[0][0] = 1;
array[1][1] = 1;
array[2][2] = 1;
array[3][3] = 1;
mostrarMatriz(array);
}
public class Ejercicio6Bien {
static String palabra="";
static List<String> palabras = new ArrayList<String>();
static Scanner q = new Scanner(System.in);
// Comprobar si hay digitos en la palabra input
public static Boolean tieneDigitos(String palabra, List<String> l) {
Boolean res = false;
for (int i = 0; i < palabra.length(); i++) {
char c = palabra.charAt(i); // Caracter i-esimo de la palabra
if (Character.isDigit(c)) {
System.out.println("La palabra introducida contiene un numero\n Pruebe de nuevo");
res = true;
break;
}
}
l.add(palabra);
return res;
}
// Numero de veces que una palabra esta en la lista
public static Integer vecesPalabra(String palabra, List<String> l) {
Integer res = 0;
for (int i = 0; i < l.size(); i++) {
if (l.contains(palabra)) {
res++;
}
}
return res;
}
// Sacar las palabras que empiezan por una letra determinada
public static void contieneLetra(String letra, List<String> l) {
String cambiada="";
Boolean chivato =true;
if(chivato){
for (int i = 0; i < l.size(); i++) {
if (l.get(i).startsWith(letra)) {
System.out.println("Introduzca la palabra por la que la quiere cambiar:\n");
cambiada= q.nextLine();
palabras.remove(l.get(i));
palabras.add(cambiada);
System.out.println("La nueva palabra es: " + cambiada);
}
chivato=false;
}
}else{
System.out.println("La palabra buscada no existe");
}
}
public static void main(String[] args) {
Integer n = 0;
while (n != 5) {
System.out.print("\nMenú\n");
System.out.print("\n1. Ingresar palabra");
System.out.print("\n2. Mostrar palabras");
System.out.print("\n3. Buscar palabra");
System.out.print("\n4. Modicar palabra");
System.out.print("\n5. salir");
System.out.print("\nOpción: ");
Integer a = q.nextInt();
if (a == 1) { // Comprobar que la palabra no tiene numeros
System.out.print("\n1. Ingresar palabra:\n" );
q.nextLine();
palabra = q.nextLine();
Boolean c = tieneDigitos(palabra, palabras);
if (c == false) {
System.out.println("La palabra no contenia numeros, añadida correctamente");
}
} else if (a == 2) {
System.out.print("\n2. Mostrar palabras");
// Mostramos las palabras de la lista
if (palabras.isEmpty()) {
System.out.println("\nLa lista esta vacia");
} else {
System.out.println("\nMostrando lista:\n" + palabras);
}
} else if (a == 3) {
System.out.print("\n3. Buscar palabra");
System.out.println("\nIntroduzca la palabra que quiere buscar:\n");
q.nextLine();
palabra = q.nextLine(); // guardamos la palabra que
// queremos buscar
Integer suma = vecesPalabra(palabra, palabras);
if (suma == 0) {
System.out.println("La palabra seleccionada no esta en la lista");
} else {
System.out.println("La palabra seleccionada esta " + suma + " veces en la lista");
}
} else if (a == 4) {
System.out.print("\n4. Modificar palabra");
System.out.println("\nIntroduzca la letra por la que buscar palabras:");
// Modificamos una palabra
String letra;
q.nextLine();
letra = q.nextLine();
contieneLetra(letra, palabras);
} else if (a == 5) {
break;
} else {
System.out.println("Introduce un numero del 1 al 5");
}
}
}
}
package aprendeaprogramar;
package aprendeaprogramar;
import java.util.ArrayList; //Esto nunca se usa
import java.util.Arrays;
import java.util.Scanner;
public class Ejercicio6 {
public static void menu() {
System.out.print("\nMenú\n");
System.out.print("\n1. Ingresar palabras");
System.out.print("\n2. Mostrar palabras");
System.out.print("\n3. Buscar número"); //no era buscar palabra?
System.out.print("\n4. Modicar número"); //no era modificar numero?
System.out.print("\n5. salir");
System.out.print("\nOpción: ");
}
public static void main(String[] args) {
String palabra;
Scanner sc=new Scanner(System.in);
//El Scanner nunca se cierra
String[] arra= new String[20];
//La creacion de un array como Object es erronea
//Se pide una lista, no un array
int opcion;
do {
menu();
opcion=sc.nextInt();
switch(opcion) {
case 1:
System.out.println("Introduzca la palabra:");
for(int i=0; i<=20; i++) {
palabra=sc.nextLine();
arra[i]=palabra;
}
case 2:
System.out.println("Las palabras ingresadas es: \n"+ Arrays.toString(arra));
}
}
//Totalmente inventado
while(opcion<2);
System.out.println("Hola");
}
}
public class Ejercicio6Bien {
// Comprobar si hay digitos en la palabra input
public static Boolean tieneDigitos(String palabra, List<String> l) {
Boolean res = false;
for (int i = 0; i < palabra.length(); i++) {
char c = palabra.charAt(i); // Caracter i-esimo de la palabra
if (Character.isDigit(c)) {
System.out.println("La palabra introducida contiene un numero\n Pruebe de nuevo");
res = true;
break;
}
}
l.add(palabra);
return res;
}
// Numero de veces que una palabra esta en la lista
public static Integer vecesPalabra(String palabra, List<String> l) {
Integer res = 0;
for (int i = 0; i < l.size(); i++) {
if (l.contains(palabra)) {
res++;
}
}
return res;
}
// Sacar las palabras que empiezan por una letra determinada
public static void contieneLetra(String letra, List<String> l) {
for (int i = 0; i < l.size(); i++) {
if (l.get(i).startsWith(letra)) {
System.out.println(l.get(i));
} else {
System.out.println("No hay ninguna palabra que comience por esa letra");
}
}
}
public static void main(String[] args) {
Integer n = 0;
while (n != 5) {
Scanner q = new Scanner(System.in);
System.out.print("\nMenú\n");
System.out.print("\n1. Ingresar palabra");
System.out.print("\n2. Mostrar palabras");
System.out.print("\n3. Buscar palabra");
System.out.print("\n4. Modicar palabra");
System.out.print("\n5. salir");
System.out.print("\nOpción: ");
Integer a = q.nextInt();
String palabra="";
List<String> palabras = new ArrayList<String>();
if (a == 1) { // Comprobar que la palabra no tiene numeros
System.out.print("\n1. Ingresar palabra:\n" + palabra);
palabra = q.nextLine();
Boolean c = tieneDigitos(palabra, palabras);
if (c == false) {
System.out.println("La palabra no contenia numeros, añadida correctamente");
}
} else if (a == 2) {
System.out.print("\n2. Mostrar palabras");
// Mostramos las palabras de la lista
if (palabras.isEmpty()) {
System.out.println("\nLa lista esta vacia");
} else {
System.out.println("Mostrando lista:\n" + palabras);
}
} else if (a == 3) {
System.out.print("\n3. Buscar palabra");
System.out.println("Introduzca la palabra que quiere buscar:\n");
palabra = q.nextLine(); // guardamos la palabra que
// queremos buscar
Integer suma = vecesPalabra(palabra, palabras);
if (suma == 0) {
System.out.println("La palabra seleccionada no esta en la lista");
} else {
System.out.println("La palabra seleccionada esta " + suma + " veces en la lista");
}
} else if (a == 4) {
System.out.print("\n4. Modificar palabra");
System.out.println("Introduzca la letra por la que buscar palabras:");
// Modificamos una palabra
String letra;
letra = q.nextLine();
contieneLetra(letra, palabras);
} else if (a == 5) {
break;
} else {
System.out.println("Introduce un numero del 1 al 5");
}
}
}
}
no me deja subir una foto pero el error es este
Multiple markers at this line
- Syntax error on token ".", @ expected after
this token
- Syntax error on tokens, SimpleName expected
instead
- Syntax error on token ".", @ expected after
this token
sale por todo el codigo
hola amigo por algun motivo tus ejercicios me salen con error :c
public static void main(String[] args) {
String palabra;
Scanner sc = new Scanner(System.in);
String array[] = new String[10];
System.out.println("Introduzca 10 palabras:");
for (int i = 0; i <= 9; i++) {
palabra = sc.nextLine();
array[i] = palabra;
}
// Imprimir el array:
System.out.println("El array con las palabras ingresadas es: \n" + Arrays.toString(array));
/*
* Pedir letra:
* Se reutiliza el scanner anterior. Una vez encontradas las palabras,
* se sacan por pantalla. En caso de no haber ninguna, se lanza un mensaje.
*/
String letra;
System.out.println("Introduzca la letra por la que buscar palabras:");
letra = sc.nextLine();
for (int i = 0; i < array.length; i++) {
if (array[i].startsWith(letra)) {
System.out.println(array[i]);
} else {
System.out.println("No hay ninguna palabra que comience por esa letra");
}
}
sc.close();
}
public static void main(String[] args) {
// 1.- Pedir el texto por consola
String texto;
Scanner sc = new Scanner(System.in);
System.out.println("Introduzca el texto deseado:\n");
texto = sc.nextLine();
// 2.- Transformar las minusculas por mayusculas
String array[] = texto.split(" ");
sc.close();
List<String> palabras_cambiadas= new ArrayList<>();
String palabra_mayus="";
for (int i = 0; i < array.length; i++) { //Para cada una de las palabras en el array
String palabra= array[i];
for (int j = 0; j < palabra.length(); j++) { //Para todos las letras en cada palabra
char caracter= palabra.charAt(j); //guardamos el caracter para reusarlo
char caracter_mayus=' '; //la proxima vocal en mayusculas
if(!(Character.isUpperCase(caracter)) //el caracter es minusculo
&& (caracter =='a' || caracter=='e' || caracter=='i' || caracter=='o' || caracter=='u')){ //ese caracter en minuscula es vocal
if(caracter=='a'){ //Identificamos el tipo de vocal y cambiamos a mayusculas
caracter_mayus='A';
}else if(caracter == 'e'){
caracter_mayus='E';
}else if(caracter == 'i'){
caracter_mayus = 'I';
}else if(caracter == 'o'){
caracter_mayus = 'O';
}else if(caracter == 'u'){
caracter_mayus='U';
}
palabra_mayus= palabra.replace(caracter, caracter_mayus); //reemplazamos la antigua vocal minuscula por la actual mayusucula
palabra=palabra_mayus; //repito la operacion para las demas posibles vocales
}
}
palabras_cambiadas.add(palabra); //una vez que la palabra ha sido totalmente cambiada, se mete en la lista de salida
}
System.out.println("El texto inicial era: " +Arrays.toString(array));
System.out.println("Nuevo texto transformado: " + palabras_cambiadas);
}
public static void main(String[] args) {
//1.- Declaro elementos a usar
String palabra;
Scanner sc = new Scanner(System.in);
List<String> palabras_guardadas = new ArrayList<>();
List<String> palabras_elegidas = new ArrayList<>();
//2.- Pido palabras
System.out.println("Introduce palabras: ");
//3.- Las meto en la lista si no es stop
for (int j = 0; j < 20; j++) { //Tenemos de tope meter 20 palabras, esto es un ejemplo
palabra= sc.nextLine();
if(!palabra.equals("stop")){
palabras_guardadas.add(palabra);
}else{ //4.- En el caso de que sea stop paro y saco las que empiecen por vocal
for (int i = 0; i < palabras_guardadas.size(); i++) {
if(palabras_guardadas.get(i).startsWith("a") ||
palabras_guardadas.get(i).startsWith("e") ||
palabras_guardadas.get(i).startsWith("i") ||
palabras_guardadas.get(i).startsWith("o") ||
palabras_guardadas.get(i).startsWith("u")){
palabras_elegidas.add(palabras_guardadas.get(i));
}
}
System.out.println("Listado de palabras que comienzan por vocal:\n" + palabras_elegidas);
break;
}
}
sc.close();
}
int [] a = {7,2,4,8,3,9,1,5,10,6};
if (a[j - 1] > a[j]) {
"Si el elemento en j-1, es decir, el 7, es mayor que el elemento que está en j, es decir, el 2"Buenas, espero que se encuentren bien.Buenas, espero que tú también estés bien.
// Empecemos con un array cualesquiera al que llamamos "CoduJ"
int coduj[] = { 2, 3, 4, 1, 8, 9, 4 };
System.out.println("Array al principio: " + Arrays.toString(coduj));
// Extraccion y simplificacion de codigo repetitivo y largo
int len = coduj.length - 1;
// Correcciones pertinentes
for (int j = 0; j < len; j++) {
for (int i = 0; i < len; i++) {
if (coduj[i] > coduj[i + 1]) {
int aux = coduj[i];
coduj[i] = coduj[i + 1];
coduj[i + 1] = aux;
}
}
}
// Reordenar un array de menor a mayor:
Arrays.sort(coduj);
System.out.println("Array una vez ordenado: " + Arrays.toString(coduj));
import java.util.Scanner;
class Agenda {
public static void main(String args[]) {
// int AgendaDatos[][] = new int[7][24]; No se ha usado nunca
Integer hora = 12;
Integer OP = 0;
/*
* Estas dos variables ya se han usado en "hora" y en "IndiceDia"
*
* Integer HorasColumnas = 0; Integer DiasFilas = 0;
*/
Integer IndiceDia = 0;
String DiasSemana[] = new String[7], DiasDatos[] = new String[168], Formato = "A.M";
DiasSemana[0] = "Lunes";
DiasSemana[1] = "Martes";
DiasSemana[2] = "Miercoles";
DiasSemana[3] = "Jueves";
DiasSemana[4] = "Viernes";
DiasSemana[5] = "Sabado";
DiasSemana[6] = "Domingo";
boolean prog = true;
Scanner InputInt = new Scanner(System.in);
Scanner InputStr = new Scanner(System.in);
for (int i = 0; i < 168; i++) {
DiasDatos[i] = "(Vacio)";
}
while (prog == true) {
System.out.println("\t\t\t--- Agenda ---");
System.out.println("Que desea hacer: 1: Ver mi agenda | 2: Agregar algo a la agenda | 3: Salir");
OP = InputInt.nextInt();
while (OP < 1 || OP > 3) {
System.out.println("No ha seleccionado de manera correcta. . .");
System.out.println("Que desea hacer: 1: Ver mi agenda | 2: Agregar algo a la agenda | 3: Salir");
OP = InputInt.nextInt();
}
switch (OP) {
case 1: // mostrar agenda
System.out.println(
"1: Lunes | 2: Martes | 3: Miercoles | 4: Jueves | 5: Viernes | 6: Sabado | 7: Domingo");
System.out.print("Dia: ");
IndiceDia = InputInt.nextInt();
while (IndiceDia < 1 || IndiceDia > 7) {
System.out.println("No ha seleccionado correctamente. . .");
System.out.println(
"1: Lunes | 2: Martes | 3: Miercoles | 4: Jueves | 5: Viernes | 6: Sabado | 7: Domingo");
System.out.print("Dia: ");
IndiceDia = InputInt.nextInt();
}
for (int j = 0; j < 24; j++) {
System.out.println("El dia " + DiasSemana[IndiceDia - 1] + " a las " + hora + " " + Formato + ": "
+ DiasDatos[j]);
hora++;
if (hora == 13) {
hora = 1;
}
if (Formato.equals("A.M") && hora == 12) {
Formato = "P.M";
} else if (Formato.equals("P.M") && hora == 12) {
Formato = "A.M";
}
}
break;
case 2: // agregar algo a la agenda
System.out.println(
"1: Lunes | 2: Martes | 3: Miercoles | 4: Jueves | 5: Viernes | 6: Sabado | 7: Domingo");
System.out.print("Dia: ");
IndiceDia = InputInt.nextInt();
while (IndiceDia < 1 || IndiceDia > 7) {
System.out.println("No ha seleccionado de manera correcta. . .");
System.out.println(
"1: Lunes | 2: Martes | 3: Miercoles | 4: Jueves | 5: Viernes | 6: Sabado | 7: Domingo");
System.out.print("Dia: ");
IndiceDia = InputInt.nextInt();
}
/*
* El sistema de agregado de tareas esta bien, pero ¿es
* necesario rellenar la agenda entera para todo un dia? Podria
* preguntarle al usuario que me diga que hora y horas desea
* agregar informacion.
*/
for (int j = 0; j < 24; j++) {
System.out.println("El dia " + DiasSemana[IndiceDia - 1] + " a las " + hora + " " + Formato + ": "
+ DiasDatos[j]);
DiasDatos[j] = InputStr.nextLine();
if (DiasDatos[j].equals("")) {
DiasDatos[j] = "(Vacio)";
}
hora++;
if (hora == 13) {
hora = 1;
}
if (Formato.equals("A.M") && hora == 12) {
Formato = "P.M";
} else if (Formato.equals("P.M") && hora == 12) {
Formato = "A.M";
}
}
break;
case 3: // salir
prog = false;
System.out.println("Usted ha salido de su agenda. . .");
break;
}
}
InputInt.close();
InputStr.close();
}
Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.
Abraham Lincoln (1808-1865) Presidente estadounidense.
aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación