Increment in Java vectors

Asked

Viewed 118 times

1

I am having doubts about some lines of a code, I will put them in the form of a comment. Follows:

     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]);
    }
}

1 answer

1

Write down v[x] *= v[x-1] is the same thing as writing v[x] = v[x] * v[x-1]. The value of v[x-1] is already there, it is not calculated, so you cannot 'reach it'. Imagine the vector as a queue, you are the position 'x' in the queue, then queue[x] = you. Ask 'Who will be met before you? ' is the same as asking 'Who is queue[x-1]? ', something that if you are not the first in line, you will always be able to tell me.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.