Program lets the user enter numbers until they enter zero and then prints total, number of inputs, and average

huangapple 未分类评论65阅读模式
标题翻译

Program lets the user enter numbers until they enter zero and then prints total, number of inputs, and average

问题

import java.util.Scanner;

public class Question14 {

    public static void main(String[] args) {
        double number = 0;
        double average = 0;
        int count = 0;
        double sum = 0;

        System.out.print("输入一个数字:");

        Scanner sc = new Scanner(System.in);
        number = sc.nextInt();

        while (number > 0) {
            System.out.print("输入一个数字:");
            number = sc.nextInt();
            count++;
            sum += number;
            average = sum / count;
        }

        if (number == 0) {
            System.out.println("总和:" + sum);
            System.out.println("输入数量:" + count);
            System.out.println("平均值:" + average);
        }
    }
}
英文翻译

I am able to get the program to ask for numbers until zero is entered and when zero is entered, the program displays total, entries, and avg. but the values given are incorrect.

Here is my code:

import java.util.Scanner;

public class Question14 {

	public static void main (String [] args){
		double number = 0;
		double average = 0;
		int count = 0;
		double sum = 0;

		System.out.print("enter a number: ");

		Scanner sc = new Scanner(System.in);
		number = sc.nextInt();

		while (number > 0){
		    System.out.print("enter a number: ");
		    number = sc.nextInt();
		    count++;
		    sum += number;
		    average = sum/count;
		}

		if (number == 0){
		    System.out.println("total: " + sum);
		    System.out.println("number of entries: " + count);
		    System.out.println("average: " + average);
	    }
	}
}

答案1

得分: -1

只需使用以下代码:

int input = 0, sum = 0, i = 0;

Scanner sc = new Scanner(System.in);
do {
    System.out.println("输入一个数字:");
    input = sc.nextInt();
    sum += input;
    i++;
} while (input != 0);

System.out.println("总和:" + sum);
System.out.println("平均值:" + (double) (sum/i));
英文翻译

Just go for this:

    int input = 0, sum = 0, i = 0;

    Scanner sc = new Scanner(System.in);
    do {
        System.out.println("Enter a number: ");
        input = sc.nextInt();
        sum += input;
        i++;
    } while (input != 0);

    System.out.println("Sum: " + sum);
    System.out.println("Avg: " + (double) (sum/i));

huangapple
  • 本文由 发表于 2020年3月4日 04:19:06
  • 转载请务必保留本文链接:https://java.coder-hub.com/60514900.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定