5-1-1 初试数组-计算平均数并输出所有大于平均数的数-关于平均数的double-安全隐患

本文介绍了如何编写程序计算用户输入的数字数组的平均数,并输出所有大于平均数的元素。通过引入数组概念,文章讨论了计算平均数的正确方法,强调了在处理double类型时需要注意的细节,同时提到了程序中可能存在的安全隐患。
摘要由CSDN通过智能技术生成

如何写一个程序计算用户输入的数字的平均数?

之前讲过

3-4-2 算平均数-用-1当做截止符-while与dowhile的差别


完善之后:

import java.util.Scanner;

public class Main {

   public static void main(String[] args) {
      
	   Scanner in = new Scanner(System.in);  
       
	   int number;              
       double count = 0;  
       int sum = 0;  
       
       number = in.nextInt();
       
       while( number != -1 )  
       {  
           sum += number;  
           count ++;  
           number = in.nextInt();  
       } 
       
       if ( cnt > 0)
       {
    	   System.out.println("平均数="+sum/count);   
       }
         
   }    
}  

优点:不需要记录输入的每一个数


如何计算平均数,并输出所有大于平均数的数

1.记录每一个数

2.算平均数

3.数与平均数比较,确定是否输出

4.输出


思路1:

int num1,num2,num3............

不科学


引入数组

import java.util.Scanner;

public class Main {

   public static void main(String[] args) {
      
	   Scanner in = new Scanner(System.in);  
       
	   int number ;
       int[] numbers = new int[100];           
//       定义数组,创建数组number,里面都是int,一共100个
       double sum = 0;  
       int count = 0;  
       
       number = in.nextInt();
       
       while( number != -1 )  
       {  
    	   numbers[count] = number ;
//    	   赋值数组的元素
//    	   number[0/1/2/3] = x;
           sum += number;  
           count ++;  
           number = in.nextInt();  
       } 
       
       if ( count > 0)
       {
    	   double average = sum / count;
    	   for (int i = 0; i < count; i++ )
//    		   整个for——遍历数组,从0到count
    	   {
    		   if (numbers[i] > average)
    		   {
    			   System.out.println(numbers[i]);
    		   }
//    		   整个if——使用数组中的元素
    	   }
    	   System.out.println("平均数="+sum/count);   
       }
         
   }    
}  

重点:

1.新东西——数组——看注释


2.new以后再说


5.第一个数是0

    	   numbers[count] = number ;
//    	   赋值数组的元素
//    	   number[0/1/2/3] = x;


错:

3.如果count是double麻烦,所以sum是double,才会算出double;average是double才能输出double

       double sum = 0;  

    	   double average = sum / count;

4.不要漏

       number = in.nextInt();




最后,老师说这个程序有安全隐患,预知后事如何,请看下一篇





































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值