拆分String并将其放在int数组(没有重复的int)Java

时间:2014-12-11 17:52:38

标签: java arrays string input int

所以我有一个输入,用户创建尽可能多的user-id(int),因为他觉得用逗号分隔:1,3,12,5 ...... 但我必须拆分用户输入的String并将其放入int数组中。 此外,不能有任何重复的用户ID。为什么这段代码错了?

   private static Editor inicio(Scanner in){

    int[] users=null;

    System.out.println("What are the users you wish to create? (Separate by commas)");
    String option = in.nextLine();
    if (option.contains(",")){
        do{
            String[] vetorString = option.split(",");
            for(int i = 0; i < vetorString.length; i++) {
                users[i] = Integer.parseInt(vetorString[i]);
            }
        } while(hasUtilizador(users));
    }

    private static boolean hasUtilizador(int[] users){

       boolean duplicate=false;
       for (int j=0 ; j < users.length ; j++)
          for (int k=j+1 ; k < users.length ; k++)
             if (k!=j && users[k] == users[j])
                 duplicate=true;
          return duplicate;
    }

2 个答案:

答案 0 :(得分:0)

这是错误的,因为

users[i] = Integer.parseInt(vetorString[i]);
在空数组上调用

。在开始为users分配值之前,请使用

进行实例化
users = new int[vectorString.length];

答案 1 :(得分:0)

尝试使用String tokenizer并插入&#39;,&#39;作为界定者。