Java:使用字符串来停止 while 循环,并由以下扫描仪输入消耗

我正在学习以 Java 为语言的介绍性编程课程。我们正在处理的任务正在困扰着我。我有一个while循环要求输入数值,当输入字符串值时终止,即


while (sc.hasNextDouble())

{...}

接下来是另一个扫描仪输入,它使用


if (sc.hasNextLine())

问题是我使用一个字符串来终止顶部的while循环,然后扫描仪立即使用它。我尝试对带有显式中断的顶部循环使用 if/else 语句;声明,但这不起作用。无论我做什么,它仍然在传递。我应该如何处理这个问题?任何指针表示赞赏。


编辑:根据要求,这里是一些实际的代码。请记住,这是针对任意类分配的,因此可能没有多大意义。


 //Request user input

        System.out.print("Please enter multiple double values. Enter q or any non double value to quit.");

        double doubleValue = 0.00; //declare doubleValue variable (for each entered double value)

        double sum = 0.00; //declare starting sum value variable at 0.00

        double doubleAverage = 0.00; //declare average of doubles variable

        //declare largest double value variable as MIN_VALUE to ensure any entered value is larger

        double largestDouble = Double.MIN_VALUE;

        //declare smallest double value variable as MAX_VALUE to ensure any entered value is smaller

        double smallestDouble = Double.MAX_VALUE; //declare smallest double value variable

        int count = 0; //set starting count


        while (sc.hasNextDouble())

        {

          doubleValue = sc.nextDouble();

          //System.out.print("Please enter another double value. Enter -1 to stop entering values.");

          sum = sum + doubleValue;

          count++;

          }


        /*

        * This section prompts the user for their first name and printd it in reverse.

        */


        System.out.print("Please enter your first name:");

        String fName = ""; //declare fName variable before requesting input

        if (sc.hasNext())

        {

          fName = sc.next();


在此之后,字符串值用于终止我最后用于 if 语句的 while 循环。


慕的地6264312
浏览 140回答 3
3回答

三国纷争

我的讲师提供的另一个有效选项是使用虚拟变量来使用 Scanner 输入,例如:String fName = sc.next(); // Consume the Q or q here.

慕娘9325324

不从sc扫描仪传递数据的一种方法是创建一个新的扫描仪对象。让我们称之为一个scan。这样,当您引用scan它时,将不知道sc之前输入的扫描仪。在您的if陈述中,您会提到scan扫描仪而不是sc扫描仪。数据从while循环传递到您的if语句的原因是因为它们都引用了同一个对象,并且在您调用sc.hasNext()它时读取了您输入到控制台的最后一个内容。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java