如何平均输出小数?

How to output the decimal in average?(如何平均输出小数?)
本文介绍了如何平均输出小数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我在显示平均小数时遇到问题.它一直显示 0.00 或 0.1.我试着把它加倍,但我仍然得到相同的结果.另外,我想将我输入的第一个整数包含在总和中,但我不知道如何.请帮助:

I have a problem in showing the decimals on the average. It keeps showing .00 or .1. I tried to put it in double, but I still get the same results.Also, I want to include the first integer that I input to the sum, but I have no idea how.Please help:

import java.io.*;
import java.util.*;

public class WhileSentinelSum 
{
static final int SENTINEL= -999;

public static void main(String[] args)
{
    // Keyboard Initialization
        Scanner kbin = new Scanner(System.in);

    //Variable Initialization and Declaration
        int number, counter;
        int sum =0;
        int average;

    //Input
        System.out.print("Enter an integer number: " );
        number = kbin.nextInt();
        counter=0;


    //Processing
    //Output
        while(number != SENTINEL)
        {
            counter++;
            System.out.print("Enter an  integer number: ");
            number = kbin.nextInt();
            sum += number;
        }

        if (counter !=0)
            System.out.println("
Counter is: " + counter);
        else
            System.out.println("no input");

        average= sum/counter;
        System.out.println("The sum is " + sum);
        System.out.println("The average is " + average);


        System.out.println();

    }//end main
}//end class

推荐答案

即使你声明 averagedoublesumcounter 变量是 int,所以 Java 仍然使用 整数除法 在分配给 average 之前,例如5/10 结果是 0 而不是 0.5.

Even if you declared average to be double, the sum and counter variables are int, so Java still uses integer division before assigning it to average, e.g. 5 / 10 results in 0 instead of 0.5.

在除法之前将变量之一转换为 double 以强制进行浮点运算:

Cast one of the variables to double before the division to force a floating point operation:

double average;

...
average = (double) sum / counter;

您可以通过在进入 while 循环之前对其进行处理来将第一个数字包含在计算中(如果它不是标记值).

You can include the first number in your calculation by processing it before you go into the while loop (if it's not the sentinel value).

这篇关于如何平均输出小数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

How to send data to COM PORT using JAVA?(如何使用 JAVA 向 COM PORT 发送数据?)
How to make a report page direction to change to quot;rtlquot;?(如何使报表页面方向更改为“rtl?)
Use cyrillic .properties file in eclipse project(在 Eclipse 项目中使用西里尔文 .properties 文件)
Is there any way to detect an RTL language in Java?(有没有办法在 Java 中检测 RTL 语言?)
How to load resource bundle messages from DB in Java?(如何在 Java 中从 DB 加载资源包消息?)
How do I change the default locale settings in Java to make them consistent?(如何更改 Java 中的默认语言环境设置以使其保持一致?)