如何在数组元素中查找已经存在的值

我需要在“ id”数组中插入一个学生ID并找到该数字   已经存在或不存在。我做了我的程序,因为我认为可能达到75%。所以   现在,当我首先运行该程序时,它会要求我输入学生ID   检查孔ID数组是任何数字必须等于该数字。如果   那里没有任何数字,存储该ID号。然后问学生   name。下一轮,如果我给出一个已经存储的数字,它会给我一个   按摩“已经存在”并再次显示“输入学生ID”,然后我   想要回馈还没有编号。因此,如果它不存在   数字,然后将其存储到数组索引。但是有时候这不是   如我所愿正常工作。请任何人获得此代码,并检查在哪里   是错误的。
import java.util.*;
class Demo2{
        public static void main(String args[]){
            Scanner input=new Scanner(System.in);

            String [] id=new String[5];
            String [] name=new String[id.length];

    L1 :    for (int i = 0; i < id.length; i++){
                //id[0]="d";
                System.out.print("Input the id for  "+i+" : ");
                String tempory=input.next();

    L2 :        for (int j = 0; j < id.length; j++){
                    if(tempory.equals(id[j])){

                        System.out.println("this id is already exists.");
                        i--;
                        break L2;
                    }

                }

                if(!tempory.equals(id[i])){
                    id[i]=tempory;

                    System.out.print("Enter Student name : ");
                    name[i]=input.next();

                }
            }
            System.out.println(Arrays.toString(id));
            System.out.println(Arrays.toString(name));
        }

}
输入0的ID:s001输入学生姓名:suraj输入的ID:   1:s002输入学生姓名:sanuka输入2:s002的ID   id已经存在。输入2的ID:      我需要像这样的整个程序。但有时它的输出如下      输入0的ID:s001输入学生姓名:suraj输入的ID:   1:s002输入学生姓名:sanuka输入2:s002的ID   id已经存在。(这是我想要的)输入2的id:s003   输入学生姓名:s002输入3的ID:s001(但有时   当我输入已经存储的号码时,它不像这行一样工作)   这个ID已经存在。输入学生姓名:(如果已经输入   存在,为我显示了“输入学生姓名”。)      请解决我这个问题