注:部分内容参考自该篇博客
编写程序,输入未指定个数的整数,判断读入的正数有多少个,读入的负数有多少个,然后计算这些输入值得总和及平均值(不对0计数)。当输入为0时,表明程序结束。将平均值以double型数据显示。
输入格式:
输入在一行中给出一系列整数,其间以空格分隔。当读到0时,表示输入结束,该数字不要处理。
输出格式:
在第一行中输出正整数的个数; 在第二行中输出负整数的个数; 在第三行中输出这些输入值的总和(不对0计数); 在第四行中输出这些输入值的平均值(double型数据)。
输入样例:
1 2 -1 3 0
输出样例:
3
1
5
1.25
代码
import java.util.Scanner;public class Main {public static void main(String[] args) {int posiNum = 0;int negaNum = 0;int sum = 0;@SuppressWarnings("resource")Scanner in = new Scanner(System.in);while(true) {int data = in.nextInt();sum += data;if(data > 0) {posiNum++;}else if(data < 0) {negaNum++;}else {break;}}if(posiNum + negaNum != 0) {double ave = sum * 1.0 /(posiNum + negaNum);System.out.println(posiNum);System.out.println(negaNum);System.out.println(sum);System.out.println(ave);}}}
总结
注意最后的输出,要在数字总数不为零的前提下输出。