创建一个函数,打印出在args中解析的正整数的数量

时间:2017-01-19 18:40:21

标签: java arrays

我在执行这个程序时遇到问题,我必须让Java在已经在命令行中输入的整数数组中返回正数的数量。

public class A1Q1 {

    private static int countPositive(int[] array) {

        int positive = 0;
        for (int i = 0; i < array.length; i++) {
            if (array[i] > 0) {
                positive = positive + 1;
            }
            System.out.println(positive);
        }
        return positive;
    }

    public static void main(String args[]) {
        int[] array = new int[]{5, 6, 7, 45, -2, -9};
        int count = countPositive(array);
        System.out.println(count);
    }
}

2 个答案:

答案 0 :(得分:2)

你的程序有很多问题试试这段代码:

private static int countPositive(int[] array) {

    int positive = 0;
    for (int i = 0; i < array.length; i++) {
        if (array[i] > 0) { //should be greater than 0  
            positive++;
        }
    }
    return positive;
}

public static void main(String args[]) {
    int[] array = new int[]{5, 6, 7, 45, -2, -9};
    int count = countPositive(array);
    System.out.println(count);
}

<强>第一

如果你在同一个班级,你不需要再次实例化

像这样你在这里做:

public static void main(String args[]) {
        A1Q1 nt = new A1Q1();

<强>第二

您应该在循环中使用相同的方法名称:

 //-----------------------------------this name--
 private static int countPositive(int[] array) {

        for (int i = 0; i < array.length; i++) {

你可以在这里启动java:

Getting started

关于数组:

Arrays

答案 1 :(得分:0)

Java 7或之前:

private static int countPositive(int[] array) {
    int positive = 0;
    for (int i = 0; i < array.length; i++) {
        if (array[i] > 0) {
            positive = positive + 1;
        }
    }
    return positive;
}

Java 8版本:

private static int countPositive(int[] array) {
    return (int) Arrays.stream(array).filter(number -> number > 0).count();
}

主要方法没有变化。