如何在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
相关产品推荐
相关产品推荐

