Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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 数学平均分数显示不正确_Java_Loops_Average - Fatal编程技术网

Java 数学平均分数显示不正确

Java 数学平均分数显示不正确,java,loops,average,Java,Loops,Average,我一辈子都搞不明白为什么我的平均值显示不正确,我已经看了2个小时了 import java.util.Scanner; public class midterm { public static void main(String[] args) { Scanner keyboard = new Scanner(System.in); int examScore =0; int averageExamScore = 0; int

我一辈子都搞不明白为什么我的平均值显示不正确,我已经看了2个小时了

import java.util.Scanner;
public class midterm
{
    public static void main(String[] args)
    {
       Scanner keyboard = new Scanner(System.in);
       int examScore =0;
       int averageExamScore = 0;
       int numStudent=0;
       int sum=0;

       while(examScore >= 0)
           {
            System.out.println("Enter exam scores (enter negative number to quit): ");
            examScore = keyboard.nextInt();
            numStudent++;
            sum = sum + examScore;
          }
       if(numStudent > 0)
           {
              averageExamScore = sum/numStudent;

           }
        else
           {
              System.out.println("No scores to average");
           }
    }
}

您已将
averageExamCore
定义为整数,因此将应用整数算法

e、 g

averageExamCore
转换为double,并将其他整数转换为double

编辑

打印


您已将
averageExamCore
定义为整数,因此将应用整数算法

e、 g

averageExamCore
转换为double,并将其他整数转换为double

编辑

打印


您已将
averageExamCore
定义为整数,因此将应用整数算法

e、 g

averageExamCore
转换为double,并将其他整数转换为double

编辑

打印


您已将
averageExamCore
定义为整数,因此将应用整数算法

e、 g

averageExamCore
转换为double,并将其他整数转换为double

编辑

打印


这里的问题是整数除法

averageExamScore = sum/numStudent;
这三个参数都是整数,这意味着:

  • 如果您将一部分商转换为
    double
    ,您将失去精度(并且编译失败)

    例如:

     averageExamScore = (double)sum/numStudent; // wouldn't compile
    
  • 提供的是商
    sum/numStudent
    的下限,而不是整数(因此对于
    4.9
    这样的数字,您将得到
    4

您可以通过以下几种方式解决此问题:

  • averageExamCore
    声明为
    double
    。这是必需的
  • sum
    numStudent
    转换为
    double
    ,或将其类型更改为
    double

    • 这里的问题是整数除法

      averageExamScore = sum/numStudent;
      
      这三个参数都是整数,这意味着:

      • 如果您将一部分商转换为
        double
        ,您将失去精度(并且编译失败)

        例如:

         averageExamScore = (double)sum/numStudent; // wouldn't compile
        
      • 提供的是商
        sum/numStudent
        的下限,而不是整数(因此对于
        4.9
        这样的数字,您将得到
        4

      您可以通过以下几种方式解决此问题:

      • averageExamCore
        声明为
        double
        。这是必需的
      • sum
        numStudent
        转换为
        double
        ,或将其类型更改为
        double

        • 这里的问题是整数除法

          averageExamScore = sum/numStudent;
          
          这三个参数都是整数,这意味着:

          • 如果您将一部分商转换为
            double
            ,您将失去精度(并且编译失败)

            例如:

             averageExamScore = (double)sum/numStudent; // wouldn't compile
            
          • 提供的是商
            sum/numStudent
            的下限,而不是整数(因此对于
            4.9
            这样的数字,您将得到
            4

          您可以通过以下几种方式解决此问题:

          • averageExamCore
            声明为
            double
            。这是必需的
          • sum
            numStudent
            转换为
            double
            ,或将其类型更改为
            double

            • 这里的问题是整数除法

              averageExamScore = sum/numStudent;
              
              这三个参数都是整数,这意味着:

              • 如果您将一部分商转换为
                double
                ,您将失去精度(并且编译失败)

                例如:

                 averageExamScore = (double)sum/numStudent; // wouldn't compile
                
              • 提供的是商
                sum/numStudent
                的下限,而不是整数(因此对于
                4.9
                这样的数字,您将得到
                4

              您可以通过以下几种方式解决此问题:

              • averageExamCore
                声明为
                double
                。这是必需的
              • sum
                numStudent
                转换为
                double
                ,或将其类型更改为
                double

              检查以下代码

              public class MidTerm {
              
               public static void main(String[] args) {
                  Scanner keyboard = new Scanner(System.in);
                  int examScore = 0;
                  double averageExamScore = 0;
                  int numStudent = 0;
                  int sum = 0;
              
                  while (true) {
                      System.out.print("Enter exam scores (enter negative number to quit): ");
                      examScore = keyboard.nextInt();
                      if (examScore >= 0) {
                          numStudent++;
                          sum += examScore;
                      } else break;
                  }
              
                  if (numStudent > 0) {
                      averageExamScore = sum / numStudent;
                      System.out.println("Avarage score is : " + averageExamScore);
                  } else System.out.println("No scores to average");
               }
              
              }

              • AverageExamCore变量应为双精度变量,否则无法存储浮点值

              祝你好运

              检查以下代码

              public class MidTerm {
              
               public static void main(String[] args) {
                  Scanner keyboard = new Scanner(System.in);
                  int examScore = 0;
                  double averageExamScore = 0;
                  int numStudent = 0;
                  int sum = 0;
              
                  while (true) {
                      System.out.print("Enter exam scores (enter negative number to quit): ");
                      examScore = keyboard.nextInt();
                      if (examScore >= 0) {
                          numStudent++;
                          sum += examScore;
                      } else break;
                  }
              
                  if (numStudent > 0) {
                      averageExamScore = sum / numStudent;
                      System.out.println("Avarage score is : " + averageExamScore);
                  } else System.out.println("No scores to average");
               }
              
              }

              • AverageExamCore变量应为双精度变量,否则无法存储浮点值

              祝你好运

              检查以下代码

              public class MidTerm {
              
               public static void main(String[] args) {
                  Scanner keyboard = new Scanner(System.in);
                  int examScore = 0;
                  double averageExamScore = 0;
                  int numStudent = 0;
                  int sum = 0;
              
                  while (true) {
                      System.out.print("Enter exam scores (enter negative number to quit): ");
                      examScore = keyboard.nextInt();
                      if (examScore >= 0) {
                          numStudent++;
                          sum += examScore;
                      } else break;
                  }
              
                  if (numStudent > 0) {
                      averageExamScore = sum / numStudent;
                      System.out.println("Avarage score is : " + averageExamScore);
                  } else System.out.println("No scores to average");
               }
              
              }

              • AverageExamCore变量应为双精度变量,否则无法存储浮点值

              祝你好运

              检查以下代码

              public class MidTerm {
              
               public static void main(String[] args) {
                  Scanner keyboard = new Scanner(System.in);
                  int examScore = 0;
                  double averageExamScore = 0;
                  int numStudent = 0;
                  int sum = 0;
              
                  while (true) {
                      System.out.print("Enter exam scores (enter negative number to quit): ");
                      examScore = keyboard.nextInt();
                      if (examScore >= 0) {
                          numStudent++;
                          sum += examScore;
                      } else break;
                  }
              
                  if (numStudent > 0) {
                      averageExamScore = sum / numStudent;
                      System.out.println("Avarage score is : " + averageExamScore);
                  } else System.out.println("No scores to average");
               }
              
              }

              • AverageExamCore变量应为双精度变量,否则无法存储浮点值


              祝你好运

              int/int将生成一个int,smallNumber/largeNumber将生成一个0,averageExamCore=(double)sum/numStudent,而您还没有输出averageExamCore,哇,我真是太累了,yikes.int/int将生成一个int,smallNumber/largeNumber将生成0,averageExamCore=(double)sum/numStudentand你还没有输出averageExamCore,哇,我太累了,yikes.int/int将生成一个int,smallNumber/largeNumber将生成0,结果averageExamCore=(double)sum/numStudentand你还没有输出averageExamCore,哇,我太累了,yikes.int/int将生成一个int,smallNumber/largeNumber将得到0,averageExamCore=(double)sum/numStudent,而你还没有输出averageExamCore,哇,我太累了,yikes。谢谢你,我想太晚了,我忘了基本的东西了,哈哈,是个胖人,我想太晚了,我忘了基本的哈哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈,哈