Java,输入为空时如何中断循环?

标签 java break

<分区>

这样做的目的是让用户每行输入一个数字,当用户不再希望继续时,他们应该能够输入一个空行,当这种情况发生时,程序应该给你一个最大的消息数。

问题是我无法用空行中断循环。我不知道该怎么做。我已经检查了其他问题的解决方案,但找不到任何有用的东西。我也无法分配 scan.hasNextInt() == null....

我确信有一个我没有想到的快速且合乎逻辑的解决方案。

import java.util.*;

public class Main {

    public static void main(String[] args) {

        Scanner scan = new Scanner(System.in);

        System.out.println("Enter a number and press [Enter] per line, when you no longer wish to continue press [Enter] with no input.(empty line)");
        int x = 0;

        while(scan.hasNextInt()){
            int n = scan.nextInt();

            if (n > x){
               x = n;
            }
        }

        System.out.println("Largets number entered: " + x);

    }
}

最佳答案

这应该可以解决您的问题:

import java.util.Scanner;

public class StackOverflow {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        System.out.println("Enter a number and press [Enter] per line, when you no longer wish to continue press [Enter] with no input.(empty line)");
        int x = 0;

        try {
            while(!scan.nextLine().isEmpty()){
                int num = Integer.parseInt(scan.nextLine());

                if(num > x) {
                    x = num;
                }
            }
        } catch (NumberFormatException e) {
            e.printStackTrace();
        }

        System.out.println("Largest number entered: " + x);
        scan.close();
    }

}

关于Java,输入为空时如何中断循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57799641/

相关文章:

java - ConstraintViolationException 和 MethodArgumentNotValidException 之间有什么区别

java - 自定义 Canvas 对象不自动重绘

java - 在两个类之间发送时丢失数据

java - 需要帮助构建 JSONObject java

c - 中断 for 循环内的 if 语句

java - 如何在netbeans、java web项目的第一行中断

c - 如何在遇到分隔符或一段时间后退出 Fread()?

php - 如何在 Twig 模板的 for 循环中使用 break 或 continue?

java - Java中的HTTP URL地址编码

Java:调用方法的 "Break"循环?