Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 打印50%或更多读数连续超过整数的值_Java_If Statement - Fatal编程技术网

Java 打印50%或更多读数连续超过整数的值

Java 打印50%或更多读数连续超过整数的值,java,if-statement,Java,If Statement,在我的作业计划中,我需要报告50%或更多读数的污染水平是否持续超过危险阈值,如果是,读数的哪一部分 以下是我目前的代码: public void analyseLevels() { UI.clearText(); UI.printf("Enter levels, end with 'done':%n"); int sum = 0; int count = 0; int dangerCount = 0; int input = 0; doub

在我的作业计划中,我需要报告50%或更多读数的污染水平是否持续超过危险阈值,如果是,读数的哪一部分

以下是我目前的代码:

public void analyseLevels() {
    UI.clearText();
    UI.printf("Enter levels, end with 'done':%n");
    int sum = 0;
    int count = 0;
    int dangerCount = 0;
    int input = 0;
    double av = 0;
    int min = Integer.MAX_VALUE;
    int max = Integer.MIN_VALUE;
    UI.nextInt();
    UI.println("-------Analysis-------");
        while(UI.hasNextInt()){ 
     int  amt = UI.nextInt();

     if( amt > 0){

        if(amt > max){
          max = amt;

        }

        if(amt < min){
          min = amt;

        }

        if(amt >= NO2_DANGER_LEVEL){

          UI.printf("Dangerous level: %dppb%n", amt);
          dangerCount++;

        }

        sum += amt;
        count++;
      }


   }

   av = ( sum ) / ( count );
   UI.println("-------Analysis-------");
   UI.printf( "Average level: %.1fppb%n", av );
   UI.printf( "Maximum level: %dppb%n", max );
   UI.printf( "Minimum level: %dppb%n", min );
   UI.printf( "Level was dangerous %d times%n", dangerCount );
   UI.nextLine(); // to clear out the input

}
这条线

av=总和/计数

不是在做你认为它在做的事。除法将在整数算术中执行:任何余数都将被截断

解决,使用

av=1.0*总和/计数


这将产生将求和和和计数提升为浮点的效果。

你的问题是什么?@dunni,问题是完成我的家庭作业。标题中的详细信息以及代码上方的描述将危险阈值设置为120,因此当用户输入的每个值为120或以上时,将记录并打印。如果50%或更多的读数是连续的,我想打印出来,有多少读数是连续的,比如说5个读数是连续的,我会把UI.println5读数是连续的;我只是不太知道怎么做@邓尼您已经计算了危险输入的数量和输入的总数。要获得危险输入相对于总输入数量的百分比,只需执行以下操作:双百分比=100.0*危险计数/计数;当然,av=双和/计数;将在不进行额外乘法的情况下执行相同的操作。