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