如何修改我的代码以在外部打印变量,这是在try-catch中初始化的?


尼拉。
2025-03-14 08:11:11 (6天前)


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

import java.util。*;



4 条回复
  1. 0# 夏花 | 2019-08-31 10-32



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




    1. 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;

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

    4. </code>

  2. 1# 生如夏花 | 2019-08-31 10-32



    如果有例外,将不会有任何结果,所以我会打印出来

    try

    块。另外,根据您的print语句,您要打印结果(而不是总和)。




    1. double iresult = isum / 10;
      System.out.println(“The average of all the 10 numbers is + iresult);
      } catch (InputMismatchException e) {
      System.out.println(e + \nPlease, enter only numbers.”);
      }

    2. </code>

  3. 2# 部落用户 | 2019-08-31 10-32



    您需要在try块中移动平均值的打印作为

    isum

    变量只能在。中访问

    try

    块。请尝试以下代码




    1. import java.util.*;

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

    3. i5, i6, i7, i8, i9;

    4. System.out.println("Please enter a number for each input.");
    5. try {
    6.     i0 = scan.nextDouble();
    7.     i1 = scan.nextDouble();
    8.     i2 = scan.nextDouble();
    9.     i3 = scan.nextDouble();
    10.     i4 = scan.nextDouble();
    11.     i5 = scan.nextDouble();
    12.     i6 = scan.nextDouble();
    13.     i7 = scan.nextDouble();
    14.     i8 = scan.nextDouble();
    15.     i9 = scan.nextDouble();
    16.     double isum = i0 + i1 + i2 + i3 + i4 + i5 + i6 + i7 + i8 + i9;
    17.     double iresult = isum / 10;
    18.     System.out.println("The average of all the 10 numbers is " + isum);
    19. } catch (InputMismatchException e) {
    20.     System.out.println(e + "\nPlease, enter only numbers.");
    21. }
    22. }
      }

    23. </code>

登录 后才能参与评论