Open ordenadorb18 opened 3 years ago
El error se produce en la sentencia:
System.out.println(args[j].charAt[i]);
e indica que charAt
no es una variable de un String.
El compilador considera que estamos accediendo a una variable porque después viene un índice entre corchetes: [i], y por lo tanto considera que es un array (uno de los tipos de variables miembro de una clase).
La sentencia correcta es charAt(i)
, ya que chartAt
es un método, y sus argumentos deben ir entre paréntesis.
Es una confusión que puede proceder porque estamos accediendo a la posición de un carácter de un String que se puede pensar que es como un array, pero la forma de acceder es con una función, por lo que el argumento debe ir entre paréntesis y no corchetes, estos son solo para los arrays.
Con respecto al ejercicio dos de la práctica de hoy, he utilizado dos bucles para controlar primero la posición de la letra con la que estoy trabajando (primer bucle), y el segundo para controlar con qué palabra estoy trabajando. No he podido compilar el ejercicio en java, y me indicaba que tenía este error: /Palabras2.java:7: error: cannot find symbol System.out.println(args[j].charAt[i]); ^ symbol: variable charAt location: class String 1 error / Este era mi código: public class Palabras2{ public static void main(String[] args){ int largo=args[0].length(); int longitud=args.length; for (int i=0; i<largo; i++){ for (int j=0; j<longitud; j++) { System.out.println(args[j].charAt[i]); } } } } Gracias por su atención.