Insertar un dato Y después de un elemento X en un vector


Programa en java para insertar un nuevo dato Y, después del elemento X en un vector que tiene N elementos.

import java.io.*;
class vector_01 {
    static int v[]=new int [100];
    public static void mostrarv(int n){
        System.out.println("El vector resultante es: ");
        for(int i=1;i<=n;i++){
            System.out.print(" "+v[i]);
        }
        System.out.println();
    }
    public static void insertar(int n,int x,int y){
        int pos=0;
        for(int i=1;i<=n;i++){
           if (v[i]==x){
                pos=i+1;
           }
        }
        if(pos==0){
            System.out.println("El elemento "+x+" no existe");
        }else{
            for(int j=n;j>=pos;j--){
                v[j+1]=v[j];
            }
            v[pos]=y;
        }
    }
    public static void main(String[] args)throws IOException {
        int n,x,y;
        InputStreamReader isr=new InputStreamReader (System.in);
        BufferedReader br=new BufferedReader(isr);
        System.out.println("Introduzca Cantidad de elementos: ");
        n=Integer.parseInt(br.readLine());
        System.out.println("Introduzca los elementos: ");
        for(int i=1;i<=n;i++){
            v[i]=Integer.parseInt(br.readLine());
        }
        mostrarv(n);
        System.out.print("Introduzca un elemento X existente en el vector: ");
        x=Integer.parseInt(br.readLine());
        System.out.print("Introduzca un elemento Y a insertar en el vector: ");
        y=Integer.parseInt(br.readLine());
        insertar(n,x,y);
        mostrarv(n+1);
    }
}

Comentarios