gpt4 book ai didi

java - 如何修改我的代码以在外部打印在 try-catch 内初始化的变量?

转载 作者:行者123 更新时间:2023-12-02 10:08:56 24 4
gpt4 key购买 nike

这是我的代码,非常简单。它应该得到 10 个 double ,如果用户输入的不是 double ,则捕获异常,然后从数字中取出平均值:

import java.util.*;

public class QuestionOne {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
double i0, i1, i2, i3, i4,

i5, i6, i7, i8, i9;

System.out.println("Please enter a number for each input.");
try {
i0 = scan.nextDouble();
i1 = scan.nextDouble();
i2 = scan.nextDouble();
i3 = scan.nextDouble();
i4 = scan.nextDouble();
i5 = scan.nextDouble();
i6 = scan.nextDouble();
i7 = scan.nextDouble();
i8 = scan.nextDouble();
i9 = scan.nextDouble();
double isum = i0 + i1 + i2 + i3 + i4 + i5 + i6 + i7 + i8 + i9;
double iresult = isum / 10;
} catch (InputMismatchException e) {
System.out.println(e + "\nPlease, enter only numbers.");
}

System.out.println("The average of all the 10 numbers is " + isum);
}
}

所以,我正在尝试打印 isum 但显然不能,因为它位于 try-catch 内。经过漫长的一天后,我的大脑陷入困境,当我正要安定下来时,意识到我有这项任务要做。有谁知道我应该如何修改代码才能获取 10 个 double 的平均值并打印它?

最佳答案

不要尝试在 try/catch 之外打印平均值;将其打印在最后的 try block 内。当抛出异常时,您不想打印平均值。用户输入了错误的内容,因此即使您可以打印它,计算也会无效。

try {
i0 = scan.nextDouble();
i1 = scan.nextDouble();
i2 = scan.nextDouble();
i3 = scan.nextDouble();
i4 = scan.nextDouble();
i5 = scan.nextDouble();
i6 = scan.nextDouble();
i7 = scan.nextDouble();
i8 = scan.nextDouble();
i9 = scan.nextDouble();
double isum = i0 + i1 + i2 + i3 + i4 + i5 + i6 + i7 + i8 + i9;
double iresult = isum / 10;

System.out.println("The average of all the 10 numbers is " + isum);
} catch (InputMismatchException e) {
System.out.println(e + "\nPlease, enter only numbers.");
}

关于java - 如何修改我的代码以在外部打印在 try-catch 内初始化的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55134056/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com