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

使用Dart编写乘法表程序输出结果与预期不符如何解决

问题原因

  • 语法错误:Dart中main作为程序入口函数,声明时必须携带括号,你写的void main{缺少函数声明必需的(),会直接触发编译报错。
  • 逻辑错误1:打印乘法结果的位置直接调用了原始变量num,没有计算两个数的乘积,所以每次输出的结果都固定为10,和预期的乘积结果不符。
  • 逻辑错误2:仅编写了单层循环,只能输出固定数值(代码里写的是10)的乘法行,无法输出完整的乘法表。

解决方法

如果你只需要输出10对应的乘法行,修正函数语法和乘积计算逻辑即可:

void main() {
  int num = 10;
  for(var i = 1; i <= 10; ++i) {
    print('$num * $i = ${num * i}');
  }
}

如果你需要输出完整的九九乘法表,需要嵌套两层循环,外层控制被乘数,内层控制乘数:

void main() {
  // 九九乘法表的被乘数范围为1~9
  for(var i = 1; i <= 9; ++i) {
    // 乘数范围为1~当前被乘数,避免输出重复的乘法项
    for(var j = 1; j <= i; ++j) {
      // 用不换行的打印逻辑,同一行输出多个式子,加制表符对齐
      stdout.write('$j * $i = ${i * j}\t');
    }
    // 每一行所有式子输出完成后换行
    print('');
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 21:36:07