统计给定的n个数中,负数、零和正数的个数。

论坛 期权论坛 脚本     
匿名网站用户   2020-12-20 00:05   28   0

public class Statistics_Number {
/*
* 统计给定的n个数中,负数、零和正数的个数。
* 输入数据有多组,每组占一行,每行的第一个数是整数n(n<100),表示需要统计的数值的个数,然后是n个实数;如果n=0,则表示输入结束,该行不做处理。
* 对于每组输入数据,输出一行a,b和c,分别表示给定的数据中负数、零和正数的个数。
*/
public static void main(String[] args) {
test();
}

private static void test() {
    System.out.println("请输入数据!");
    Scanner scanner = new Scanner(System.in);
    String str = scanner.nextLine();
    String[] strs = str.split(" ");
    if (strs[0].equals("0")) {
        System.out.println("该行不做处理!请继续输入数据");
        test();
    } else {
        System.out.println(Arrays.toString(strs));
        double[] number = new double[strs.length - 1];

        for (int i = 1; i < strs.length; i++) {
            number[i - 1] = Double.parseDouble(strs[i]);
        }
        System.out.println(Arrays.toString(number));
        int a = 0;
        int b = 0;
        int c = 0;
        for (int i = 0; i < number.length; i++) {
            if (number[i] == 0) {
                b++;
            } else if (number[i] > 0) {
                c++;
            } else if (number[i] < 0) {
                a++;
            }
        }
        System.out.println("正数: " + c + " 零: " + b + " 负数:" + a);
        System.out.println("是否继续!yes or 任意键结束!");
        String str1 = scanner.next();
        if (str1.equals("yes")) {
            test();
        }
    }
}

}

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1136255
帖子:227251
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP