You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Dart中从键盘逐行输入多个内容

Dart实现控制台逐行输入单个元素

在Dart中,我们可以通过final input = stdin.readLineSync();读取控制台的单行输入,但如果需要逐行输入多个独立元素(比如依次输入hello、world、!),可以参考以下实现方式:

实现方案

1. 循环读取至终止条件

通过while循环持续读取输入,直到用户输入空行(或其他自定义终止符)时停止:

import 'dart:io';

void main() {
  List<String> inputList = [];
  String? currentLine;

  print("请逐行输入内容,输入空行结束输入:");
  while ((currentLine = stdin.readLineSync()) != null && currentLine.isNotEmpty) {
    inputList.add(currentLine);
  }

  // 输出验证输入内容
  print("\n你输入的所有内容:");
  for (var content in inputList) {
    print(content);
  }
}

2. 读取固定行数的输入

如果明确需要输入的行数,用for循环读取指定次数即可:

import 'dart:io';

void main() {
  const targetLines = 3; // 预设需要输入3行内容
  List<String> inputList = [];

  print("请输入$targetLines行内容:");
  for (int i = 0; i < targetLines; i++) {
    String? line = stdin.readLineSync();
    if (line != null) {
      inputList.add(line);
    }
  }

  print("\n输入完成,内容如下:");
  inputList.forEach(print);
}

关键说明

  • readLineSync()返回String?类型,需处理输入流结束导致的null情况。
  • 读取到的每一行内容可直接存入列表或即时处理,满足逐行输入单个元素的需求。

内容的提问来源于stack exchange,提问作者Heike Heinrich

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 23:30:58