当前位置: 首页 > 知识库问答 >
问题:

对整数数组值进行计数

益绯辞
2023-03-14

如何计算下面代码中的整数值:

            String arr = [1,0,1,0,1,1];
            String[] items = arr.replaceAll("\\[", "").replaceAll("\\]", "").replaceAll("\\s", "").split(",");

            int[] results = new int[items.length];

            for (int i = 0; i < items.length; i++) {
                try {
                    results[i] = Integer.parseInt(items[i]);
                } catch (NumberFormatException nfe) {
                    //NOTE: write something here if you need to recover from formatting errors
                };
            }

我想实现如果0是超过1所以将打印假如果1是超过0将打印真

共有2个答案

邢心水
2023-03-14
public static void main(String[] args) {
    String arg = "[1,0,1,0,0]";
    int amountOfZeros = 0;
    int amountOfOnes = 0;
    for (int i = 1; i <arg.length() ; i= i + 2) {
        int numberInArray = Integer.parseInt(String.valueOf(arg.charAt(i)));
        try{
            if(numberInArray == 0){
                amountOfZeros++;
            }
            if(numberInArray == 1){
                amountOfOnes++;
            }
        } catch (Exception e){
            System.out.println(e);
        }
    }
    // and now you can print this amounts of numbers and false or true if you need it;
    System.out.println(amountOfZeros <= amountOfOnes);
    //or
    if(amountOfZeros > amountOfOnes){
        System.out.println(false);
    } else {
        System.out.println(true);
    }
    System.out.println(amountOfZeros);
    System.out.println(amountOfOnes);
}

这就是我如何理解你的问题: p

邢博涛
2023-03-14

我已经用Java为您实现了它,下面我将用代码解释它:

    public static void main(String[] args) {
        int[] arr = {1, 0, 1, 0, 1, 1};
        /*
            Here you make a two index array to hold the values
            of 0`s and 1`s as a counter.
         */
        int[] results = new int[2];

        for (int i = 0; i < arr.length; i++) {
            try {
                //Check if the current index is 0 or 1
                //Then increment the counter.
                if (arr[i] > 0) results[1]++;
                else results[0]++;
            } catch (NumberFormatException nfe) {
                //NOTE: write something here if you need to recover from formatting errors
            }
        }
        //Check which one is greater than the other.
        System.out.println(results[1] > results[0] ? "True" : "False");
    }

我希望你发现它很有用:)

 类似资料:
  • 我希望根据记录的整数值降序排序:

  • 问题内容: 我想对整数的arraylist的arraylist进行排序,需要帮助吗? 我被告知,我需要实现比较器或可比对象,然后使用collection.sort对列表列表进行排序… 问题答案: 没有错误检查空列表,但是这里是。 使用Java 8,它变得更加简洁:

  • 问题内容: 我有一个元组列表,看起来像这样: 我想按元组内的整数值将此列表升序排序。可能吗? 问题答案: 尝试将key关键字与一起使用。 应该是一个标识如何从数据结构中检索可比较元素的函数。在你的情况下,它是元组的第二个元素,因此我们访问。 要进行优化,请参阅的响应,使用,它实际上是的更快版本]。

  • 我想使用功能 对一个int数组进行排序,但我不确定如何进行,这样我就可以确定它使用的是合并排序,而不是任何其他排序。 以下是Java文档:https://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html 下面是我认为正确的函数实现,以便使用合并排序。 这是正确的吗?此外,我想指定一个索引,从哪里开始排序等 如何确保编写代码,使其使用合并

  • 但我得到一条错误消息,说无法在原语类型int上调用compareToIgnoreCase(int) 我如何修复这段代码,使它能够用整数值对列表进行排序?

  • 给定一个数N,我需要找到从1到N至少有一个素数(2,3,5或7)的数的计数。 现在N可以高达10^18。解决这个问题的最佳方法是什么。 例句:设N=100,答案是64。 请帮助解决这个问题。 代码:这是主要功能,但显然不是好方法