Increment in Java vectors

1

I have doubts about some lines of a code, I'll put them in the form of a comment. Following:

     import java.util.Scanner;


        public class Teste131 {

            static final int max = 100000;

                public static void main (String[] args){        


                        Scanner entrada = new Scanner(System.in);

            int v[] = new int[max];
            int n,x;            

            v[0]=1;

            System.out.println ("Digite um valor para n: ");
            n = entrada.nextInt();

            for (x=1; x<n; x=x+1) {

            /* supondo que foi inserido um valor de "n > x", o comando abaixo atribuirá um valor para a posição onde x=2, pois segundo o laço enquanto "x < n" então "x ++" pois o x incial valia 1 */

            System.out.println ("Digite um valor para v[x]: ");
                v[x] = entrada.nextInt();

            /* caso a entrada acima for por exemplo igual a 1, teremos então até aqui que: v[2] = 1 */

                v[x] *= v[x-1];

            /* caso meus comentários anteriores nesse código estejam corretos, não consigo entender como se chega a resposta do valor de v[x-1] apenas comessa última passagem */

}

            System.out.println ("v[x-1] é igual a: "+ v[x-1]);
    }
}
    
asked by anonymous 25.10.2016 / 20:51

1 answer

1

Writing v[x] *= v[x-1] is the same as writing v[x] = v[x] * v[x-1] . The value of v [x-1] is already there, it is not calculated, so we can not 'get at it'. Imagine the vector as a queue, you are the 'x' position in the queue, then queue [x] = you. Ask 'Who will be attended to before you?' is the same as asking 'Who's queuing [x-1]?', something that, if you're not the first in line, you'll always be able to tell me.

    
26.10.2016 / 07:01