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();
}
}
}
}