Foro de elhacker.net

Programación => Java => Mensaje iniciado por: AndenBomber en 29 Mayo 2008, 18:08 pm



Título: Programa que compila, pero error en consola
Publicado por: AndenBomber en 29 Mayo 2008, 18:08 pm
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.
Código:
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:
(http://s1.subirimagenes.com/otros/previo/thump_541011hmm.jpg) (http://www.subirimagenes.com/otros-hmm-541011.html)
Alguna luz por favor  :-(


Título: Re: Programa que compila, pero error en consola
Publicado por: HadesDark en 29 Mayo 2008, 19:49 pm
Hombre, el error que tienes es acá:

Código:
[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:

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

Saludos y espero te sirva.