带输入的循环不显示任何类型的输入或结果提示

问题描述 投票:0回答:1

我目前正在编写一个程序作为课堂练习,提示用户输入一系列数字,其中输入应以0结尾。程序应该能够在接触到变量正和时加一来自输入的正数。当程序接触到输入中的负数时,它应该能够将变量负和加一。该程序应该将所有这些数字加在一起以获得总数。该程序应该能够获得平均值并将其显示为双精度。

当我尝试运行该程序时,我会获得一条通往下载文件夹中 intellij 所在目录的路径。

我不确定我可以尝试什么不同的方法。我的 IDE 中没有弹出任何错误警告。

这是我的代码:

`导入java.util.Scanner;

public class LoopPractice {
public static void main(String[] args) {
//create scanner object
    Scanner input = new Scanner(System.in);

    int positiveSum = 0;
    int negativeSum = 0;
    int numberOfPositive = 0;
    int numberOfNegative = 0;
    int totalNumbers = 0;
    int integers = input.nextInt();

    while(integers != 0){
        System.out.println("Enter integers ending with 0: ");
        integers = input.nextInt();

            if (integers > 0) {
                positiveSum += integers;
                numberOfPositive++;
                totalNumbers++;
                System.out.println("The number of positives is " + positiveSum);

            } else  if (integers < 0) {
                negativeSum += integers;
                numberOfNegative++;
                totalNumbers++;
                System.out.println("The number of negatives is " + negativeSum);
            }
        double average =  (numberOfPositive + numberOfNegative) / totalNumbers;
        System.out.println("The total is: " + totalNumbers);
            System.out.println("The average is: " + average);
            }
        }
     }

`

java loops intellij-idea while-loop count
1个回答
0
投票

利用 do-while 循环boolean

此外,您还可以使用 BigInteger 类来表示 positiveSumnegativeSum

这是一个例子。

import static java.math.BigInteger.ZERO;
import java.math.BigInteger;
import java.util.Scanner;
Scanner in = new Scanner(System.in);
int i;
BigInteger x, a = ZERO, b = ZERO;
boolean exit = false;
do {
    x = in.nextBigInteger();
    i = x.compareTo(ZERO);
    if (i == 0) exit = true;
    else if (i < 0) a = a.add(x);
    else b = b.add(x);
} while (!exit);

输出

1 2 3 -4 -5 -6 0
a = -15
b = 6
© www.soinside.com 2019 - 2024. All rights reserved.