Programa que compila, pero error en consola

Iniciado por AndenBomber, 29 Mayo 2008, 18:08 PM

0 Miembros y 1 Visitante están viendo este tema.

AndenBomber

Necesito ayuda...
Recién empiezo en esto del Java. Estoy usando en JCreator como compilador.
Hice este programa que se supone deberá hacer: pregunta la cantidad de alumnos (n), luego pregunta las notas de los (n) alumnos, las promedia y muestra el resultado.
import javax.swing.*;
public class notas2
{
    public static void main( String [] args )
    {

    String m,x,y,z;
    int n,i,r,P,S;
   
m=JOptionPane.showInputDialog("Ingrese numero de alumnos:");
n=Integer.parseInt(m);
final int N=n;
int V[] = new int[N];
i=1;
while (i<=n){
x=JOptionPane.showInputDialog("Ingrese nota del alumno "+i);
    V[i]=Integer.parseInt(x);
    i++;
    }
S=0;
for (int l=1;l<=n-1;l++){
System.out.println(V[l]);
S=S+V[l];
}
P=S/n;
JOptionPane.showMessageDialog(null, "El promedio del aula es"+P );
    }
    }

No me sale error al compilar, en consola empieza bien, pero cuando deber{ía salir el resultado (Promedio de notas) me sale esta pantalla:

Alguna luz por favor  :-(

HadesDark

Hombre, el error que tienes es acá:


[b]i=1;
while (i<=n)[/b]
{
    x=JOptionPane.showInputDialog("Ingrese nota del alumno "+i);
    V[i]=Integer.parseInt(x);
    i++;
}


Estas inicializando la variable 'i' con un valor de '1', al hacer esto, cuando vas a asignar los valores al vector: "V=Integer.parseInt(x);" la primera posición será 1, y recuerda que los vectores inician desde 0, así que para que te corra bien, cambia eso por esto:


i = 0;
while (i < n)
{
x = JOptionPane.showInputDialog("Ingrese nota del alumno " + i);
V[i] = Integer.parseInt(x);
i++;
}


Saludos y espero te sirva.