通过代码/逻辑

时间:2016-02-27 21:31:03

标签: java

这是我的任务:提示用户输入任意数量的值。用户应输入标记值99999以指示它们已完成输入输入。仅显示正值的平均值。在计算平均值时完全忽略任何负值。同时忽略99999值。

我想要获得的输出是:

 Enter a series of values (enter 99999 to quit):
 93 ­4 18 19 ­2 41 17 99999
 The average of the positive values is 37.6

我的代码到目前为止: 我想我需要一个循环,但不知道什么样的循环以及如何实现它。任何想法?

   public static void main(String[] args){
    Scanner in = new Scanner(System.in);
    System.out.println("Please enter a series of values (type 99999 to   quit)");
    int number = in.nextInt();
    int valuesIn = number++;
    double average = number/ valuesIn;

   if(number == 99999)
   {
       System.exit(-1);
   }
   else
    {
      System.out.println(average);
    }
}
}

1 个答案:

答案 0 :(得分:1)

您只需实施do-while循环:

Scanner in = new Scanner(System.in);
int number, valuesIn;
double average = 0;

do {
    number = in.nextInt();
    if(number > 0 && number != 99999) {
        valuesIn++;
        average += number;
    }
} while(number != 99999)

average /= valuesIn;