问答详情
源自:4-12 Java循环跳转语句之 continue

统计正数和负数再计算这些数的平均值:

课本练习题:

       从控制台读取未指定个数的整数,空格隔开,并判断整数多少个,负数多少个。计算总和及平均值;

当输入为一个0时,程序结束;

---------------------------------------------------------------------------------------------------------

麻烦赐教


提问者:朝梦想迈步 2019-03-12 12:09

个回答

  • 慕的地2053752
    2019-03-25 14:05:50

    Scanner input = new Scanner(System.in);

        System.out.println("请输入数字:");

        int sum=0;

        int i=0; int j=0;

        for(;i>=0;i++) {

        int num=input.nextInt();

        System.out.print(num+" "+i);

            if(num==0) {break;}

        if(num<0) {j++;}

        sum+=num;

        }

        double avg =sum/i;

        System.out.println("整数个数为:"+i+"\t"+"负数个数为"+j+"\t"+"总和为:"+sum+"\t"+"平均值为:"+avg);


  • 相遇即是缘分
    2019-03-12 17:41:59

    package com.imooc;
    
    import java.util.Scanner;
    
    public class Test {
    	
    	public static void main(String[] args) {
    		function();
    	}
    	
    	/**
    	 * 函数
    	 */
    	public static void function() {
    		Scanner input = new Scanner(System.in);
    		Integer positiveNums = 0;// 正数个数
    		Integer negativeNums = 0;// 负数个数
    		Integer num;// 输入的整数
    		Double sum = 0.0;// 和
    		Double avg = 0.0;// 平均值
    		
    		int count = 0;// 计数器
    		while (true) {
    			count++;
    			System.out.print("请输入第" + count + "个数:");
    			num = input.nextInt();
    			if(num == 0){
    				break;
    			}else if (num>0){// 正数
    				positiveNums++;
    			}else{// 负数
    				negativeNums++;
    			}
    			
    			// 求和
    			sum += num;
    		}
    		
    		// 平均值
    		avg = sum / (positiveNums + negativeNums);
    		
    		System.out.println("正数的个数为:" + positiveNums);
    		System.out.println("负数的个数为:" + negativeNums);
    		System.out.println("总和为:" + sum);
    		System.out.println("平均值为:" + avg);
    	}
    }