当前位置: 首页 > 知识库问答 >
问题:

编写一个读取未指定数量的整数的程序

百里丁雨
2023-03-14

“计算正数和负数,并计算数字的平均值)编写一个程序,读取未指定数量的整数,确定已读取多少个正值和负值,并计算输入值的总和及平均值(不计算零)。你的程序以输入0结束。将平均值显示为浮点数。

我不知道我做错了什么

import java.util.Scanner;

public class NewClass {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        int positive = 0, negative = 0, total = 0, count = 0;

        double average;

        System.out.println("Enter the number: ");
        int number;

        while ((number = input.nextInt()) != 0) {
            total += number;
            count++;
            if (number > 0) {
                positive++;
            } else if (number < 0) {
                negative++;
            }
        }
        average = total / count;
        System.out.println("The number of positives is " + positive);
        System.out.println("The number of negatives is " + negative);
        System.out.println("The total is " + total);
        System.out.printf("The average is %d ", average);
    }
}

共有3个答案

楚博雅
2023-03-14

只需将int变量乘以1.0即可将其转换为浮点变量average=1.0*total/count这应该可以。您可以使用以下语句显示值<code>System.out。println(“数字的平均值是”平均值)

微生烨然
2023-03-14

如果需要数字的平均值,则不能将整数总数除以整数计数,因为结果将是一个整数,它不考虑小数点。

import java.util.Scanner;

public class NewClass {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        int positive = 0, negative = 0, total = 0, count = 0;

        double average;

        System.out.println("Enter the number: ");
        int number;

        while ((number = input.nextInt()) != 0) {
            total += number;
            count++;
            if (number > 0) {
                positive++;
            } else if (number < 0) {
                negative++;
            }
        }
        average = (double) total / count;
        System.out.println("The number of positives is " + positive);
        System.out.println("The number of negatives is " + negative);
        System.out.println("The total is " + total);
        System.out.printf("The average is: " + average);
    }
}

此外,您不必在System.out行中使用%d。printf(“平均值为%d”,平均值)

你可以写 System.out.printf(“平均值是:”平均值);因为当您打印出字符串时,括号内连接的任何内容也将转换为字符串,并按原样打印出来

夏骏
2023-03-14

第一:它应该是平均值=(双倍)总计/计数;因为int/int比你得到一个整数。

第二:<code>System.out。println(“平均值为”平均值)或System.out。printf(“平均值为%f”,平均值)

 类似资料:
  • 问题内容: 有没有像linux这样的命令可以从文件中返回指定数量的字符? 例如,我有一个文本文件,例如: 我想要的东西可以返回前5个字符,即“ hello”。 谢谢 问题答案: 也可以: ..将提取前100个字节并将其返回。 为此使用的好处是匹配的语法: 您可以将它们组合起来以获得字节范围。例如,要从文件中获取 后 100个字节,请使用读取前200个字节,然后使用tail来获取后100个字节:

  • 本文向大家介绍请编写一个C 函数,该函数将给定的一个字符串转换成整数。相关面试题,主要包含被问及请编写一个C 函数,该函数将给定的一个字符串转换成整数。时的应答技巧和注意事项,需要的朋友参考一下 【参考答案】

  • 本文向大家介绍请编写一个C 函数,该函数将给定的一个整数转换成字符串。相关面试题,主要包含被问及请编写一个C 函数,该函数将给定的一个整数转换成字符串。时的应答技巧和注意事项,需要的朋友参考一下 【参考答案】 void IntToCharChange(int num, char* pval) { char strval[100]; int i , j; int val0 = 0; int val1

  • [print('帮助我是新的编程,我需要这个编码在python')]#当我试图运行这个程序 它运行第一个函数,打印,然后在IDLE中不运行任何其他功能。

  • 我不知道如何在这里放入代码,这样我就可以显示我到目前为止所测试的内容,仅仅是为了重新熟悉整数中一定量数字的拆分。 编辑以添加: ^这是我到目前为止的结果,但现在我的问题是,我需要将每个整数的数字存储在不同的列表中。这是从文件中读取的未定数量的整数。用于计数和结束循环的数字只是示例。 对代码的最新更新:我现在需要知道的几乎是如何让循环知道txt文件中没有更多的行了。

  • 本文向大家介绍写一个方法获取指定数组中间的值(一个或者两个)相关面试题,主要包含被问及写一个方法获取指定数组中间的值(一个或者两个)时的应答技巧和注意事项,需要的朋友参考一下