[ Foro de Java ]
Hola Nacho, estoy haciendo los ejercicios del tema 7d y aunque el resultado es correcto, tengo muchas dudas respecto a este ejercicio (7.07), no se si tu lo hubieras hecho asÃ:
/* -------------------------------------------------------- *
* Introducción a Java - Ejercicio de repaso 7.07: Crear un *
* programa que muestre las letras de la Z (mayúscula) a la *
* A (mayúscula, descendiendo). *
* Por David Nuñez, Ejercicio 7.07 *
* -------------------------------------------------------- *
* Fichero: AlfabetoReves.java *
*----------------------------------------------------------*/
class AlfabetoReves{
public static void main(String args[]){
char[] alfabeto = new char[26];
alfabeto[0]='A';
System.out.print("El alfabeto ordenado en mayusculas es: "+alfabeto[0]+",");
for(int i=1;i<26;i++)
{
alfabeto[i]=(char)('A'+i);
System.out.print(alfabeto[i]+",");
}
System.out.println();
System.out.println("El alfabeto de la Z a la A es: ");
for(int j=25;j>=0;j--)
System.out.print(alfabeto[j]+",");
}
}
Lo primero que me gustarÃa saber es si no hay alguna forma para no tener que poner el numero 26 en la linea:
char[] alfabeto = new char[26];
no soy capaz de hacerlo sin poner ningún numero, no tengo porque saber cuantas letras tiene el alfabeto, no?<br /><br />
Tampoco entiendo porque a la A le sumo 1 y me da la B???<br /><br />
supongo que no lo interpreta como una letra sino como un codigo, no?<br /><br />
No se si hay alguna funcion para que me invierta el alfabeto sin necesidad de usar un for.<br /><br />
Bueno muchas gracias Nacho
¿No sería más sencillo así?
for(char letra = 'Z' ; letra >= 'A' ; letra--)
System.out.print(letra);
}
En cuanto a por qué si sumas 1 a la A, obtienes la B, tendrás que investigar un poquito sobre el código ASCII... ;-D
Es verdad no se me había ocurrido, así es más sencillo.
Ok, investigare sobre el código ASCII; pero como puedo reservar memoría si saber previamente la memoria que necesito? te ponía el ejemplo del alfabeto:
char[] alfabeto = new char[26];
aquí reservo para 26 posiciones en mi array, pero si no se cuantas voy a necesitar, como lo hago?
Gracias Nacho
Es que, por definición, un "array" es una estructura estática, cuyo tamaño no cambia, por lo que tienes que saber el tamaño cuando creas el programa (Java permite que sea también en tiempo de ejecución, pero siempre antes de usarlo).
Si quieres guardar una cantidad de datos desconocida, y que puede aumentar o disminuir, la solución es no usar una estructura estática (como un array), sino una dinámica (en Java tienes algunas predefinidas y fáciles de manejar, como los ArrayList).
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)