在Java中使用Scanner获取可变数量的输入

时间:2018-09-15 17:48:23

标签: java java.util.scanner

我想输入以下内容: 输入的第一行包含必须生成航班选项列表的两个城市-出发城市和到达城市,用空格隔开。

接下来的N行将包含可用的航班及其费用。每条线都是直飞航班,从出发城市的名称开始,然后是到达城市的名称,最后是该航班的费用-所有这三个都由空格分隔。

RMAHistory处。

有人可以帮助我想知道如何结束输入。我正在使用:-

1<=N<=20

但都是徒劳的。

数据的格式为

Scanner s = new Scanner(System.in);
while(!(input = s.nextLine()).equals(" "))

接下来的N行应采用格式

CityA CityB // Upto its I have done. The next N lines i.e. second paragraph is a confusion 

2 个答案:

答案 0 :(得分:1)

您可以使用以下代码:

    Scanner s = new Scanner(System.in);
    int maxCount = 20;
    // initialize it to a random value for now
    String input = "?";
    System.out.println("Enter 2 cities with cost upto 20");
    while (!input.trim().equals("") && maxCount > 0) {
        input = s.nextLine();
        /*
         *  parse input accordingly
         */
        maxCount--;
    }
    System.out.println("Done with input");

答案 1 :(得分:-1)

Scanner sc = new Scanner(System.in);
    String input = "";
    while (!(input = sc.nextLine()).equals(" ")) {
        if (input.equalsIgnoreCase("EXIT")) {
            break;
        }
        System.out.println(input);
    }