Foros del Web » Programación para mayores de 30 ;) » Java »

Problema con array y for

Estas en el tema de Problema con array y for en el foro de Java en Foros del Web. ¡Saludos! Veréis, tengo un problema un poco raro para mí, bueno, realmente creo que tengo 2, aunque uno lo he solucionado (creo) pero de manera ...
  #1 (permalink)  
Antiguo 21/02/2012, 16:06
Avatar de spyker1925  
Fecha de Ingreso: febrero-2011
Mensajes: 37
Antigüedad: 13 años, 2 meses
Puntos: 0
Problema con array y for

¡Saludos!
Veréis, tengo un problema un poco raro para mí, bueno, realmente creo que tengo 2, aunque uno lo he solucionado (creo) pero de manera algo chapuzera (tal vez no, y sea así )
El programa es simple, consiste en almacenar datos en unos vectores, el error me sale al mover escribir en uno de los for el array (El error me dice: Not a statement).
Código PHP:
public class Ejercicio4 {

    
    public static 
void main(String[] args) {
        
int ia;
        final 
int NOTA 3;
        final 
int ALUMNOS 5;
        
int Alumnos[][] = new int[ALUMNOS][NOTA];
       
BufferedReader keyboard = new BufferedReader(new InputStreamReader(System.in));
       for (
i=0i<ALUMNOSi++){
           for(
a=0a<NOTAa++){
               try{
                
Alumnos[i][a] = Integer.parseInt(keyboard.readLine());
            } catch( 
IOException e) {
                
System.out.println("Error");
            }
           }
          
Alumnos[i][a]; /*Aquí es dónde me da el error "Not a statement", y 
la única manera de que no me de error es haciendo una igualación  
y no sé por qué, quedando así: Alumnos[i][a]=Alumnos[i][a]; 
Así es la única manera que no me de error, si es así que está correcto, explicadmelo. */
       
}
       for (
i=0i<ALUMNOSi++){
           for(
a=0a<NOTAa++){
               
System.out.print(Alumnos[i][a]+", ");
           }
           
System.out.println("");
           
Alumnos[i][a]; //Aquí idem de lo mismo
       
}
    }

Y el otro problema es, que al correr el bucle y pedir varias veces, el programa tira error como si se saliera del límite de array o algo.
  #2 (permalink)  
Antiguo 22/02/2012, 02:06
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Problema con array y for

1º Deberías cambiar ALUMNOS y Alumnos[ALUMNOS][NOTA]. El convenio de notación de java está bien para la constante, pero no así para la variable.

Personalmente sustituiría ALUMNOS por NUMALUMNOS y Alumnos por alumnos[NUMALUMNOS][NOTA] para cumplir con ese convenio.

2º Pues el error "not a statement" es ese precisamente, que eso no es una sentencia. Estás accediendo a una variable sin hacer ninguna operación sobre ella.
alumnos[i][a]; // Tirará error pq no se ejecuta ninguna operación sobre esta variable
System.out.println(alumnos[i][a].toString()); // Mostrará el valor de la variable por pantalla
alumnos[i][a] = alumnos[i][a]; // Es una identidad trivial, es como si pusieses 1=1 o nada ... El programa no hará nada más con la variable. Te sirve para salir del error como dices, pero no creo que eso sea lo que quieres hacer con esa variable precisamente.
.... etc // todas las operaciones que se te ocurran.

3º Para nota, controla que lo que metas por teclado sea exactamente un Integer y si no es así, pues que saque un mensaje y vuelva a intentarlo (y que si se aburre mucho pulse una tecla concreta para salir).
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #3 (permalink)  
Antiguo 22/02/2012, 08:34
Avatar de spyker1925  
Fecha de Ingreso: febrero-2011
Mensajes: 37
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Problema con array y for

Muchas gracias por las recomendaciones, ya las estoy aplicando, tomo nota.
Respecto a eso de la igualación para que no de error, tienes razón, es poner la variable sin que haga nada, y realmente, no hace falta , ahora me sabe mal haber habierto el post si luego me he dado cuenta yo solo que el array augmenta sin necesidad de poner la variable, solo con el for.
El programa funciona perfecto eliminando las líneas "Alumnos[i][a];".

Un saludo!
  #4 (permalink)  
Antiguo 23/02/2012, 14:26
 
Fecha de Ingreso: abril-2010
Mensajes: 38
Antigüedad: 14 años
Puntos: 1
Respuesta: Problema con array y for

si tu ejercicio era de almacenar las notas de ciertos alumnos lo huvieras hecho de la siguiente manera:

1 ingresas la cantidad de alumnos
2 le pides sus notas hasta que termine el proceso repetitivo
y lo almacenas en un vector notas
3 muestras las notas de todos los palomos
4 listo

adios spyker1925

Etiquetas: programa, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:04.