首页 > 解决方案 > 我对此特定代码的输出有疑问

问题描述

这是代码:

import java.util.Scanner;

    public class javapractice {
        public static void main(String[] Args) {
            int XX = 0;
            int count = 0;
            Scanner input = new Scanner(System.in);
    
            while (true) {
                System.out.println("Enter Number :");
                int number = input.nextInt();
                boolean nextint = input.hasNextInt();
                if (nextint) {
                    count++;
                    XX += number;
                } else {
                    break;
                }
                input.nextLine();
            }
           int YY = XX/count;
            System.out.println("SUM = " + XX + " AVG = " + YY);
            input.close();
        }
    }

我希望输出打印输入数字的总和,当我输入时让我们说一个像“Hello”这样的词,它会跳出循环并打印Sum 0 0and AVG = 0

我遇到的问题是,每当我输入数字时,它都会要求我输入两次,之后不会在行中取下一个数字,每当我输入字符串变量时,让我们说“I”,它会输出 Inputmismatch . 有什么办法可以解决这个问题?

标签: javajava.util.scanner

解决方案


试试这个代码:

    int XX = 0;
    int count = 0;
    Scanner input = new Scanner(System.in);

    while (true) {
        System.out.println("Enter Number: ");
        if (input.hasNextInt()) {
            count++;
            XX += input.nextInt();
        } else {
            break;
        }
    }
    int YY = XX / count;
    System.out.println("SUM = " + XX + " AVG = " + YY);
    input.close();

推荐阅读