如何只打印大于平均值的数字?

时间:2013-12-10 06:17:34

标签: java

我是java的新手,我正在尝试打印的唯一数字大于我文件中的平均值。

   3.2
   7.5
   1.11
   9.4

平均:4.8525

double x; 

 Scanner inputStream = null; 

 try { // place file in project folder, not src; 
     inputStream = new Scanner( new File("Data.txt") ); 
 } catch( FileNotFoundException e ) { 
     System.out.println("Error opening file"); 
     System.exit(1); 
 } 

 while(inputStream.hasNextDouble()){ 
     x = inputStream.nextDouble(); 
     System.out.println(x); 
 } 

 inputStream.close(); 

2 个答案:

答案 0 :(得分:4)

  1. 如果您不知道数据的大小,首先需要在ArrayList存储数据。

    List<Double> list=new ArrayList<>();
    while(inputStream.hasNextDouble()){ 
     list.add(inputStream.nextDouble());
    }
    
  2. 计算值的总和。

     double sum=0.0;
     for(Double val: list){
       sum+= val;
     }
    
  3. 迭代列表并打印大于平均值的值。

     for(Double val: list){
      if(val> sum/list.size()){
      System.out.println(val);
      }
     }
    

答案 1 :(得分:0)

while( inputStream.hasNextDouble() ){ 
 x = inputStream.nextDouble(); 
  if(x > 4.8525){
    System.out.println(x); 
   }
 }