首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解决ArithmeticException错误:/0

如何解决ArithmeticException错误:/0
EN

Stack Overflow用户
提问于 2022-04-05 03:10:46
回答 2查看 245关注 0票数 -1
代码语言:javascript
复制
import java.util.Scanner;

public class InputCalculator {
    public static void main(String[] args) {
        inputThenPrintSumAndAverage();
    }

    public static void inputThenPrintSumAndAverage(){
        Scanner scanner = new Scanner(System.in);

        int sum = 0;
        int counter = 0;
        long average = 0L;
        while(true){
            System.out.println("Enter a number : ");
            boolean isAnInt = scanner.hasNextInt();

            if(!isAnInt){
                break;
            }else{
                counter++;
                int number = scanner.nextInt();
                sum +=number;
            }

            scanner.nextLine();
        }



        average = Math.round(sum / counter);
        System.out.println("SUM = " + sum + " AVG = " + (double)average);
        scanner.close();
    }


}

此方法的目的是打印用户输入的数字的总和和平均值。当用户输入非整数类型时,我试图打印"SUM =0 AVG = 0“,但遇到了这个错误。线程"main“中的异常java.lang.ArithmeticException: / by 0

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-04-05 03:15:19

在尝试拆分之前,您应该确保计数器不是0

代码语言:javascript
复制
if(counter != 0) {
    average = Math.round(sum / counter);
}
System.out.println("SUM = " + sum + " AVG = " + (double)average);
scanner.close();
票数 0
EN

Stack Overflow用户

发布于 2022-04-05 04:18:11

如果计数器为0,也可以显示不同的消息。

代码语言:javascript
复制
if(counter != 0) {
    average = Math.round(sum / counter);
    System.out.println("SUM = " + sum + " AVG = " + (double)average);
} else {
    System.out.println("You did not provide any valid value.");
}
scanner.close();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71745926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档