【问题标题】:Splitting String and put it on int array (no repeated ints) Java拆分字符串并将其放在 int 数组(无重复整数)Java
【发布时间】:2014-12-11 17:52:38
【问题描述】:

所以我有一个输入,用户创建尽可能多的用户 ID (int),因为他觉得用逗号分隔,例如:1,3,12,5... 但是我必须分解用户输入的字符串并将其放入一个 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;
    }

【问题讨论】:

    标签: java arrays string input int


    【解决方案1】:

    这是错误的,因为

    users[i] = Integer.parseInt(vetorString[i]);
    

    在空数组上调用。在开始为users 赋值之前,先用

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

    【讨论】:

      【解决方案2】:

      尝试使用String tokenizer 并插入“,”作为分隔符。

      【讨论】:

        猜你喜欢
        • 2023-04-04
        • 1970-01-01
        • 2013-01-03
        • 2020-09-06
        • 1970-01-01
        • 2016-08-04
        • 2014-05-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多