代码之家  ›  专栏  ›  技术社区  ›  Raj

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

  •  -1
  • Raj  · 技术社区  · 6 年前

    输入的第一行包含必须生成航班选项列表的两个城市,即出发城市和到达城市,用空格隔开。

    接下来的N行将包含可用的航班及其成本。每一行都是一个直飞航班,从出发城市名称开始,然后是到达城市名称,最后是该航班的费用,三者之间用一个空格字符隔开。

    在哪里? 1<=N<=20

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

    数据的形式是

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

    CityA CityC 5000
    CityA CityD 3000
    
    2 回复  |  直到 6 年前
        1
  •  1
  •   Nicholas K    6 年前

    您可以使用以下代码:

        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");
    
        2
  •  -1
  •   Chalukya    6 年前
    Scanner sc = new Scanner(System.in);
        String input = "";
        while (!(input = sc.nextLine()).equals(" ")) {
            if (input.equalsIgnoreCase("EXIT")) {
                break;
            }
            System.out.println(input);
        }