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

Dart编辑器推荐及VSCode中程序无输出问题求助

适用于Dart的编辑器
  • Visual Studio Code:官方推荐工具,安装Dart/Flutter插件后,支持语法高亮、智能补全、调试、热重载等核心功能,适配Dart脚本、后端、Flutter跨平台等各类开发场景。
  • IntelliJ IDEA:JetBrains出品,社区版免费可用,对Dart的代码分析、重构支持极强,适合大型Dart项目开发,专业版还提供更多进阶功能。
  • Android Studio:基于IntelliJ IDEA定制,主打Flutter移动端开发,内置Android相关开发工具,适合同时做Dart后端与移动端开发的场景。
  • WebStorm:JetBrains旗下Web开发专用编辑器,对Dart Web项目支持友好,适合用Dart构建前端应用的开发者。
  • Sublime Text:轻量型编辑器,安装Dart相关插件后可实现基础语法高亮与代码补全,适合快速编写小型Dart脚本。

Dart程序无法输出列表的问题分析与修复

你的代码存在无限循环问题:初始列表list = [5]长度为1,循环条件设为i < list.length,但每次循环都会执行list.add(n),导致列表长度持续增加,i永远追不上列表长度,循环永远无法终止,自然不会执行后续的print语句。

修复后的代码(固定输入数量)

// Importing dart:io file
import 'dart:io';

void main() {
  List<int> list = [5];

  // 设定要添加的元素数量,示例为2个
  int inputCount = 2;
  for (var i = 0; i < inputCount; i++) {
    int? n = int.parse(stdin.readLineSync()!);
    list.add(n);
  }

  // Printing that number
  print("Your list $list");
}

可选优化(让用户决定输入数量)

import 'dart:io';

void main() {
  List<int> list = [5];

  print("请输入要添加的元素数量:");
  int inputCount = int.parse(stdin.readLineSync()!);
  
  for (var i = 0; i < inputCount; i++) {
    print("请输入第${i+1}个元素:");
    int? n = int.parse(stdin.readLineSync()!);
    list.add(n);
  }

  print("Your list $list");
}

注意事项

  • 避免用动态变化的列表长度作为循环终止条件,除非明确知道循环会在某个节点停止。
  • stdin.readLineSync()!要求用户输入有效的整数,否则会抛出异常,实际开发中可使用int.tryParse添加异常处理,避免程序崩溃。

内容的提问来源于stack exchange,提问作者Shahriar Saem

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 07:55:34